标签:mybatisplus testPojo jsctest test 单库 mysql sharding com
sharding+mybatisplus单库分表部署
sharding和Mybatisplus对版本兼容问题非常敏感,以下版本是在冲浪中得知,测试无错,若还有报错,请降低springboot版本,本次springboot测试为 2.4.3版本
-
pom.xml
<!-- 这个druid连接池非常重要,自己测试时候 ,这是必须品 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.21</version> </dependency> <!-- springboot sharding start --> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-boot-starter</artifactId> <version>4.0.0-RC2</version> </dependency> <!-- for spring namespace --> <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>sharding-jdbc-spring-namespace</artifactId> <version>4.0.0-RC2</version> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.3.1.tmp</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
-
application.yml
spring: shardingsphere: props: sql.show: true datasource: #指定库 names: jsctest #设置数据库信息 jsctest: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/jsctest?useJDBCCompliantTimezoneShift=true&serverTimezone=UTC&useUncode=true&characterEncoding=UTF-8 driver-class-name: com.mysql.cj.jdbc.Driver username: root password: 123 sharding: #表 tables: #虚拟表名test test: #真实表名逻辑,此处为test0,test1,test2 actual-data-nodes: jsctest.test$->{0..2} #指定分表策略 table-strategy: inline: #指定策略字段 sharding-column: id #test+字段Id%3是真实表名,假如字段Id为2,则插入test1表 algorithm-expression: test$->{id % 3} #指定mapper,pojo包 mybatis-plus: mapper-locations: classpath:mapper/*.xml type-aliases-package: com.example.test.test.Pojo
-
Pojo实体类
/** * @Author: 王居三木超 * @Description: TODO * @DateTime: 2021/9/23 17:02 **/ @Data @TableName("test")//虚拟表名 public class testPojo implements Serializable { //雪花Id @TableId(type = IdType.ASSIGN_ID) @JsonFormat(shape = JsonFormat.Shape.STRING) private Long id; private String name; }
-
Dao
/** * @Author: 王居三木超 * @Description: TODO * @DateTime: 2021/9/23 17:01 **/ @Mapper @Repository public interface test extends BaseMapper<testPojo> { }
-
Test测试类
@SpringBootTest class TestApplicationTests { @Autowired test test; @Test void contextLoads() { for (int i = 0; i < 100; i++) { testPojo testPojo = new testPojo(); testPojo.setName(i + ""); test.insert(testPojo); } } }
-
表test0
表test1
表test2
成功!~~
标签:mybatisplus,testPojo,jsctest,test,单库,mysql,sharding,com 来源: https://www.cnblogs.com/hmcjsc/p/15325448.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。