赵冬冬 3 rokov pred
rodič
commit
bc784b5fd3

+ 13 - 5
src/main/java/com/xin/shardingspherejdbcdemo/controller/UserController.java

@@ -1,16 +1,13 @@
 package com.xin.shardingspherejdbcdemo.controller;
 package com.xin.shardingspherejdbcdemo.controller;
 
 
-import com.google.common.collect.Lists;
+import com.xin.shardingspherejdbcdemo.entity.Order;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.User;
-import com.xin.shardingspherejdbcdemo.service.UserService;
-import com.xin.shardingspherejdbcdemo.config.util.SnowFlake;
 import com.xin.shardingspherejdbcdemo.entity.vo.AjaxVo;
 import com.xin.shardingspherejdbcdemo.entity.vo.AjaxVo;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
+import com.xin.shardingspherejdbcdemo.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
-import java.util.List;
-
 
 
 @RestController
 @RestController
 @RequestMapping("/user")
 @RequestMapping("/user")
@@ -23,6 +20,17 @@ public class UserController {
     public AjaxVo saveUser(@RequestBody User user) {
     public AjaxVo saveUser(@RequestBody User user) {
         return AjaxVo.success(userService.save(user));
         return AjaxVo.success(userService.save(user));
     }
     }
+
+    @PostMapping("/save/order")
+    public AjaxVo saveorder(@RequestBody Order order) {
+        return AjaxVo.success(userService.order(order));
+    }
+
+    @GetMapping("/select/order")
+    public AjaxVo saveorder(@RequestParam("userId") Long userId,@RequestParam("pageNum")int pageNum,@RequestParam("pageSize") int pageSize,@RequestParam("name")  String name) {
+        return AjaxVo.success(userService.selectOrder(userId,pageNum,pageSize,name));
+    }
+
     @PutMapping
     @PutMapping
     public AjaxVo update(@RequestBody User user) {
     public AjaxVo update(@RequestBody User user) {
         return AjaxVo.success(userService.update(user));
         return AjaxVo.success(userService.update(user));

+ 1 - 0
src/main/java/com/xin/shardingspherejdbcdemo/entity/Order.java

@@ -12,6 +12,7 @@ import java.util.Date;
 public class Order {
 public class Order {
 
 
     private Long id;
     private Long id;
+    private Long userId;
     private String orderNum;
     private String orderNum;
     private BigDecimal money;
     private BigDecimal money;
     private Integer year;
     private Integer year;

+ 1 - 1
src/main/java/com/xin/shardingspherejdbcdemo/entity/User.java

@@ -7,7 +7,7 @@ import lombok.Data;
 import java.util.Date;
 import java.util.Date;
 
 
 @Data
 @Data
-@TableName("t_user")
+@TableName("t_user_")
 public class User {
 public class User {
     /** */
     /** */
     private Long id;
     private Long id;

+ 0 - 390
src/main/java/com/xin/shardingspherejdbcdemo/entity/UserExample.java

@@ -1,390 +0,0 @@
-package com.xin.shardingspherejdbcdemo.entity;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class UserExample {
-    protected String orderByClause;
-
-    protected boolean distinct;
-
-    protected List<Criteria> oredCriteria;
-
-    public UserExample() {
-        oredCriteria = new ArrayList<Criteria>();
-    }
-
-    public void setOrderByClause(String orderByClause) {
-        this.orderByClause = orderByClause;
-    }
-
-    public String getOrderByClause() {
-        return orderByClause;
-    }
-
-    public void setDistinct(boolean distinct) {
-        this.distinct = distinct;
-    }
-
-    public boolean isDistinct() {
-        return distinct;
-    }
-
-    public List<Criteria> getOredCriteria() {
-        return oredCriteria;
-    }
-
-    public void or(Criteria criteria) {
-        oredCriteria.add(criteria);
-    }
-
-    public Criteria or() {
-        Criteria criteria = createCriteriaInternal();
-        oredCriteria.add(criteria);
-        return criteria;
-    }
-
-    public Criteria createCriteria() {
-        Criteria criteria = createCriteriaInternal();
-        if (oredCriteria.size() == 0) {
-            oredCriteria.add(criteria);
-        }
-        return criteria;
-    }
-
-    protected Criteria createCriteriaInternal() {
-        Criteria criteria = new Criteria();
-        return criteria;
-    }
-
-    public void clear() {
-        oredCriteria.clear();
-        orderByClause = null;
-        distinct = false;
-    }
-
-    protected abstract static class GeneratedCriteria {
-        protected List<Criterion> criteria;
-
-        protected GeneratedCriteria() {
-            super();
-            criteria = new ArrayList<Criterion>();
-        }
-
-        public boolean isValid() {
-            return criteria.size() > 0;
-        }
-
-        public List<Criterion> getAllCriteria() {
-            return criteria;
-        }
-
-        public List<Criterion> getCriteria() {
-            return criteria;
-        }
-
-        protected void addCriterion(String condition) {
-            if (condition == null) {
-                throw new RuntimeException("Value for condition cannot be null");
-            }
-            criteria.add(new Criterion(condition));
-        }
-
-        protected void addCriterion(String condition, Object value, String property) {
-            if (value == null) {
-                throw new RuntimeException("Value for " + property + " cannot be null");
-            }
-            criteria.add(new Criterion(condition, value));
-        }
-
-        protected void addCriterion(String condition, Object value1, Object value2, String property) {
-            if (value1 == null || value2 == null) {
-                throw new RuntimeException("Between values for " + property + " cannot be null");
-            }
-            criteria.add(new Criterion(condition, value1, value2));
-        }
-
-        public Criteria andIdIsNull() {
-            addCriterion("id is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdIsNotNull() {
-            addCriterion("id is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdEqualTo(Long value) {
-            addCriterion("id =", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdNotEqualTo(Long value) {
-            addCriterion("id <>", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdGreaterThan(Long value) {
-            addCriterion("id >", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdGreaterThanOrEqualTo(Long value) {
-            addCriterion("id >=", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdLessThan(Long value) {
-            addCriterion("id <", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdLessThanOrEqualTo(Long value) {
-            addCriterion("id <=", value, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdIn(List<Long> values) {
-            addCriterion("id in", values, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdNotIn(List<Long> values) {
-            addCriterion("id not in", values, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdBetween(Long value1, Long value2) {
-            addCriterion("id between", value1, value2, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andIdNotBetween(Long value1, Long value2) {
-            addCriterion("id not between", value1, value2, "id");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameIsNull() {
-            addCriterion("name is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameIsNotNull() {
-            addCriterion("name is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameEqualTo(String value) {
-            addCriterion("name =", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameNotEqualTo(String value) {
-            addCriterion("name <>", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameGreaterThan(String value) {
-            addCriterion("name >", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameGreaterThanOrEqualTo(String value) {
-            addCriterion("name >=", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameLessThan(String value) {
-            addCriterion("name <", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameLessThanOrEqualTo(String value) {
-            addCriterion("name <=", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameLike(String value) {
-            addCriterion("name like", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameNotLike(String value) {
-            addCriterion("name not like", value, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameIn(List<String> values) {
-            addCriterion("name in", values, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameNotIn(List<String> values) {
-            addCriterion("name not in", values, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameBetween(String value1, String value2) {
-            addCriterion("name between", value1, value2, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andNameNotBetween(String value1, String value2) {
-            addCriterion("name not between", value1, value2, "name");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeIsNull() {
-            addCriterion("age is null");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeIsNotNull() {
-            addCriterion("age is not null");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeEqualTo(Integer value) {
-            addCriterion("age =", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeNotEqualTo(Integer value) {
-            addCriterion("age <>", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeGreaterThan(Integer value) {
-            addCriterion("age >", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeGreaterThanOrEqualTo(Integer value) {
-            addCriterion("age >=", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeLessThan(Integer value) {
-            addCriterion("age <", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeLessThanOrEqualTo(Integer value) {
-            addCriterion("age <=", value, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeIn(List<Integer> values) {
-            addCriterion("age in", values, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeNotIn(List<Integer> values) {
-            addCriterion("age not in", values, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeBetween(Integer value1, Integer value2) {
-            addCriterion("age between", value1, value2, "age");
-            return (Criteria) this;
-        }
-
-        public Criteria andAgeNotBetween(Integer value1, Integer value2) {
-            addCriterion("age not between", value1, value2, "age");
-            return (Criteria) this;
-        }
-    }
-
-    public static class Criteria extends GeneratedCriteria {
-
-        protected Criteria() {
-            super();
-        }
-    }
-
-    public static class Criterion {
-        private String condition;
-
-        private Object value;
-
-        private Object secondValue;
-
-        private boolean noValue;
-
-        private boolean singleValue;
-
-        private boolean betweenValue;
-
-        private boolean listValue;
-
-        private String typeHandler;
-
-        public String getCondition() {
-            return condition;
-        }
-
-        public Object getValue() {
-            return value;
-        }
-
-        public Object getSecondValue() {
-            return secondValue;
-        }
-
-        public boolean isNoValue() {
-            return noValue;
-        }
-
-        public boolean isSingleValue() {
-            return singleValue;
-        }
-
-        public boolean isBetweenValue() {
-            return betweenValue;
-        }
-
-        public boolean isListValue() {
-            return listValue;
-        }
-
-        public String getTypeHandler() {
-            return typeHandler;
-        }
-
-        protected Criterion(String condition) {
-            super();
-            this.condition = condition;
-            this.typeHandler = null;
-            this.noValue = true;
-        }
-
-        protected Criterion(String condition, Object value, String typeHandler) {
-            super();
-            this.condition = condition;
-            this.value = value;
-            this.typeHandler = typeHandler;
-            if (value instanceof List<?>) {
-                this.listValue = true;
-            } else {
-                this.singleValue = true;
-            }
-        }
-
-        protected Criterion(String condition, Object value) {
-            this(condition, value, null);
-        }
-
-        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
-            super();
-            this.condition = condition;
-            this.value = value;
-            this.secondValue = secondValue;
-            this.typeHandler = typeHandler;
-            this.betweenValue = true;
-        }
-
-        protected Criterion(String condition, Object value, Object secondValue) {
-            this(condition, value, secondValue, null);
-        }
-    }
-}

+ 0 - 11
src/main/java/com/xin/shardingspherejdbcdemo/mapper/DbMapper.java

@@ -1,11 +0,0 @@
-//package com.xin.shardingspherejdbcdemo.mapper;
-//
-//import org.apache.ibatis.annotations.Mapper;
-//
-//@Mapper
-//public interface DbMapper {
-//
-////    void creatUserTable(@Param("year") String year);
-////
-////    int selectUserTable(@Param("year") String year);
-//}

+ 3 - 0
src/main/java/com/xin/shardingspherejdbcdemo/mapper/OrderMapper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xin.shardingspherejdbcdemo.entity.Order;
 import com.xin.shardingspherejdbcdemo.entity.Order;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 
 
+import java.util.List;
+import java.util.Map;
+
 @Mapper
 @Mapper
 public interface OrderMapper extends BaseMapper<Order> {
 public interface OrderMapper extends BaseMapper<Order> {
 }
 }

+ 3 - 2
src/main/java/com/xin/shardingspherejdbcdemo/mapper/UserMapper.java

@@ -2,13 +2,14 @@ package com.xin.shardingspherejdbcdemo.mapper;
 
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.User;
-import com.xin.shardingspherejdbcdemo.entity.UserExample;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 @Mapper
 @Mapper
 public interface UserMapper extends BaseMapper<User> {
 public interface UserMapper extends BaseMapper<User> {
 
 
-}
+    List<Map<String, String>> selectOrderByid(@Param("userId") Long userId);
+}

+ 6 - 1
src/main/java/com/xin/shardingspherejdbcdemo/service/UserService.java

@@ -1,6 +1,7 @@
 package com.xin.shardingspherejdbcdemo.service;
 package com.xin.shardingspherejdbcdemo.service;
 
 
 
 
+import com.xin.shardingspherejdbcdemo.entity.Order;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
 
 
@@ -28,4 +29,8 @@ public interface UserService {
     User update(User user);
     User update(User user);
 
 
     Long delete(Long id);
     Long delete(Long id);
-}
+
+    Object order(Order order);
+
+    Object selectOrder(Long userId,int pageNum, int pageSize, String name);
+}

+ 26 - 1
src/main/java/com/xin/shardingspherejdbcdemo/service/impl/UserServiceImpl.java

@@ -3,9 +3,12 @@ package com.xin.shardingspherejdbcdemo.service.impl;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.xin.shardingspherejdbcdemo.config.util.SnowFlake;
 import com.xin.shardingspherejdbcdemo.config.util.SnowFlake;
+import com.xin.shardingspherejdbcdemo.entity.Order;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.User;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
 import com.xin.shardingspherejdbcdemo.entity.vo.PageVo;
+import com.xin.shardingspherejdbcdemo.mapper.OrderMapper;
 import com.xin.shardingspherejdbcdemo.mapper.UserMapper;
 import com.xin.shardingspherejdbcdemo.mapper.UserMapper;
 import com.xin.shardingspherejdbcdemo.service.UserService;
 import com.xin.shardingspherejdbcdemo.service.UserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 
 
 @Service
 @Service
@@ -25,8 +29,9 @@ public class UserServiceImpl implements UserService {
     public PageVo list(int pageNum, int pageSize, String name, Integer age) {
     public PageVo list(int pageNum, int pageSize, String name, Integer age) {
         QueryWrapper queryWrapper = new QueryWrapper();
         QueryWrapper queryWrapper = new QueryWrapper();
         queryWrapper.like("name", name);
         queryWrapper.like("name", name);
+        queryWrapper.le("age", age);
         int count = userMapper.selectCount(queryWrapper);
         int count = userMapper.selectCount(queryWrapper);
-        queryWrapper.orderByDesc("age");
+        queryWrapper.orderByAsc("age");
         PageHelper.startPage(pageNum, pageSize);
         PageHelper.startPage(pageNum, pageSize);
         List<User> list = userMapper.selectList(queryWrapper);
         List<User> list = userMapper.selectList(queryWrapper);
         return PageVo.data(list, count);
         return PageVo.data(list, count);
@@ -61,5 +66,25 @@ public class UserServiceImpl implements UserService {
         return id;
         return id;
     }
     }
 
 
+    @Autowired
+    private OrderMapper orderMapper;
+
+    @Override
+    public Object order(Order order) {
+        SnowFlake snowFlake = new SnowFlake(2, 3);
+        order.setId(snowFlake.nextId());
+        orderMapper.insert(order);
+        return order;
+    }
+
+
+    @Override
+    public Object selectOrder(Long userId, int pageNum, int pageSize, String name) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, String>> list = userMapper.selectOrderByid(userId);
+        long total = new PageInfo(list).getTotal();
+        return PageVo.data(list, total);
+    }
+
 
 
 }
 }

+ 29 - 11
src/main/resources/application-dev.yml

@@ -11,10 +11,22 @@ mybatis:
     map-underscore-to-camel-case: true
     map-underscore-to-camel-case: true
     default-fetch-size: 500
     default-fetch-size: 500
     default-statement-timeout: 80
     default-statement-timeout: 80
-dbinfo:
-  username: root
-  password: 123456
+
+
+mydbinfo:
+  list:
+    - shardingDbName: sharding-user
+      ip: 47.108.115.128
+      port: 3306
+      dbname: sharding
+      username: sharding
+      password: TpTX2s47fNHF5EpG
+      tables: t_user_,t_order_
+
 spring:
 spring:
+  jackson:
+    date-format: yyyy-MM-dd HH:mm:ss
+    time-zone: GMT+8
   main:
   main:
     allow-bean-definition-overriding: true
     allow-bean-definition-overriding: true
   shardingsphere:
   shardingsphere:
@@ -24,18 +36,24 @@ spring:
       sharding-user:
       sharding-user:
         type: com.alibaba.druid.pool.DruidDataSource
         type: com.alibaba.druid.pool.DruidDataSource
         driver-class-name: com.mysql.cj.jdbc.Driver
         driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://192.168.29.131:3306/sharding_user?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
-        username: ${dbinfo.username}
-        password: ${dbinfo.password}
+        url: jdbc:mysql://47.108.115.128:3306/sharding?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowMultiQueries=true
+        username: sharding
+        password: TpTX2s47fNHF5EpG
     sharding:
     sharding:
       tables:
       tables:
         #逻辑表名
         #逻辑表名
-        user:
-          actual-data-nodes: sharding-user.t_user$->{0..2}
+        t_user_:
+          actual-data-nodes: sharding-user.t_user_$->{2022}
           table-strategy:
           table-strategy:
-            inline:
-              sharding-column: id
-              algorithm-expression: t_user$->{id%3}
+            standard:
+              sharding-column: create_time
+              precise-algorithm-class-name: com.xin.shardingspherejdbcdemo.config.sharding.TableShardingAlgorithm
+        t_order_:
+          actual-data-nodes: sharding-user.t_order_$->{2022}
+          table-strategy:
+            standard:
+              sharding-column: create_time
+              precise-algorithm-class-name: com.xin.shardingspherejdbcdemo.config.sharding.TableShardingAlgorithm
     #打印sql
     #打印sql
     props:
     props:
       sql:
       sql:

+ 1 - 1
src/main/resources/application.yml

@@ -1,4 +1,4 @@
 spring:
 spring:
   # 环境 dev:开发环境|test:测试环境|prod:生产环境
   # 环境 dev:开发环境|test:测试环境|prod:生产环境
   profiles:
   profiles:
-    active: test #激活的配置文件
+    active: dev #激活的配置文件

+ 0 - 77
src/main/resources/application.yml.cp

@@ -1,77 +0,0 @@
-server:
-  port: 8086
-mybatis:
-  mapper-locations: classpath*:mapper/*.xml
-#指定mybatis信息
-# 数据源 主库、从库 -- 读写分离
-#spring.shardingsphere.datasource.names=master,slave0
-# 数据源 主库 --仅分表不分库
-#spring.shardingsphere.datasource.names=master
-# 数据源 主库db0、主库db1 -- 分库分表
-spring:
-  shardingsphere:
-    datasource:
-      names: master0,master1
-      # 数据源 主库
-      master0:
-        type: com.alibaba.druid.pool.DruidDataSource
-        driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://182.61.59.216:3306/db0?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
-        username: root
-        password: 123456
-      # 数据源 主库
-      master1:
-        type: com.alibaba.druid.pool.DruidDataSource
-        driver-class-name: com.mysql.cj.jdbc.Driver
-        url: jdbc:mysql://182.61.59.216:3306/db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
-        username: root
-        password: 123456
-      ## 数据源 从库
-#      slave0:
-#        type: com.alibaba.druid.pool.DruidDataSource
-#        driver-class-name: com.mysql.cj.jdbc.Driver
-#        url: jdbc:mysql://182.61.59.216:3306/db1?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
-#        username: root
-#        password: 123456
-
-    ## 读写分离
-    ##spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robin
-    #spring.shardingsphere.masterslave.name=ms
-    #spring.shardingsphere.masterslave.master-data-source-name=master
-    #spring.shardingsphere.masterslave.slave-data-source-names=slave0
-
-    ## 分库
-    #根据ID分库
-    #spring.shardingsphere.sharding.default-database-strategy.inline.sharding-column=id
-    #spring.shardingsphere.sharding.default-database-strategy.inline.algorithm-expression=master$->{id % 2}
-
-    #根据年龄分库
-    sharding:
-      default-database-strategy:
-        inline:
-          sharding-column: age
-          algorithm-expression: master$->{age > 30?0:1}
-        #数据分表规则--仅分表不分库
-        #注意:tables.user中的user是逻辑表
-        #仅分表时使用,单一写表,指定所需分的表,分user1、user2
-        #spring.shardingsphere.sharding.tables.user.actual-data-nodes=master.user$->{0..1}
-        #同时分库分表时使用
-        tables.user:
-          actual-data-nodes: master$->{0..1}.user$->{0..1}
-          ##行表达式分片策略
-          user:
-            table-strategy:
-              inline:
-                sharding-column: id
-                #分表两个,所以规则为主键除以2取模
-                algorithm-expression: user$->{id % 2}
-
-  ##用于单分片键的标准分片场景
-  ##指定自增主键
-  #spring.shardingsphere.sharding.tables.user.key-generator.column= id
-  ##自增列值生成器类型,缺省表示使用默认自增列值生成器。可使用用户自定义的列值生成器或选择内置类型:SNOWFLAKE/UUID
-  #spring.shardingsphere.sharding.tables.user.key-generator.type= SNOWFLAKE
-  #打印sql
-  props:
-    sql:
-      show: true

+ 2 - 2
src/main/resources/db1.sql

@@ -18,8 +18,8 @@ SET FOREIGN_KEY_CHECKS=0;
 -- ----------------------------
 -- ----------------------------
 -- Table structure for user0
 -- Table structure for user0
 -- ----------------------------
 -- ----------------------------
-DROP TABLE IF EXISTS `user0`;
-CREATE TABLE `user0` (
+DROP TABLE IF EXISTS `user_2022`;
+CREATE TABLE `user_2022` (
   `id` bigint(18) NOT NULL AUTO_INCREMENT,
   `id` bigint(18) NOT NULL AUTO_INCREMENT,
   `name` varchar(10) DEFAULT NULL,
   `name` varchar(10) DEFAULT NULL,
   `age` int(11) DEFAULT NULL,
   `age` int(11) DEFAULT NULL,

+ 0 - 25
src/main/resources/mapper/DbMapper.xml

@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="com.xin.shardingspherejdbcdemo.mapper.DbMapper">
-
-
-    <select id="creatUserTable">
-        CREATE TABLE `user${year}` (
-          `id` bigint(18) NOT NULL AUTO_INCREMENT,
-          `name` varchar(10) DEFAULT NULL,
-          `age` int(11) DEFAULT NULL,
-          PRIMARY KEY (`id`)
-        ) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8mb4;
-    </select>
-
-    <select id="selectUserTable" resultType="java.lang.Integer">
-        SELECT
-            COUNT( 1 )
-        FROM
-            information_schema.TABLES
-        WHERE
-            table_name = 'user${year}';
-
-    </select>
-
-</mapper>

+ 14 - 3
src/main/resources/mapper/UserMapper.xml

@@ -3,7 +3,18 @@
 <mapper namespace="com.xin.shardingspherejdbcdemo.mapper.UserMapper" >
 <mapper namespace="com.xin.shardingspherejdbcdemo.mapper.UserMapper" >
 
 
 
 
+    <select id="selectOrderByid" resultType="java.util.Map">
+        SELECT distinct
+            a.id,
+            a.name,
+            b.order_num,
+            b.money,
+            b.create_time
+        FROM
+            t_user_ a
+            JOIN t_order_ b ON a.id = b.user_id
+        WHERE
+            a.id=#{userId} order by b.create_time desc
 
 
-
-
-</mapper>
+    </select>
+</mapper>