前言 昨天写的idea+apifox uploader插件+apifox新年第一天上班就上榜了,真是不错。今天来补一篇,本来应该是在前一篇之前发的。实际上就是最新的SpringBoot集成最新的mybatisPlus,加双数据
昨天写的idea+apifox uploader插件+apifox新年第一天上班就上榜了,真是不错。今天来补一篇,本来应该是在前一篇之前发的。实际上就是最新的SpringBoot集成最新的mybatisPlus,加双数据源:Mysql、TDengine,一个关系型数据库,一个时序数据库。文末有独家demo的git地址。
springBoot3集成的哦,其他依赖也都是最新版本,独家的哦。好了,不废话,直接上重点。
这个没有啥好说的,就是选择spring项目了,下一步下一步,直接看引入的包吧。
pom.xml
4.0.0 org.springframework.boot spring-boot-starter-parent 3.0.1 com.xiaotian data-trans 0.0.1-SNAPSHOT data-trans data-trans 17 UTF-8 17 17 1.4.3 true org.springframework.boot spring-boot-starter-WEB org.springframework.boot spring-boot-starter-Tomcat org.springframework.boot spring-boot-starter-undertow 3.0.1 org.springframework.boot spring-boot-starter-data-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter 3.0.1 com.baomidou mybatis-plus-boot-starter 3.5.3.1 com.baomidou mybatis-plus 3.5.3.1 com.baomidou mybatis-plus-extension 3.5.3.1 com.taosdata.jdbc taos-jdbcdriver 3.0.3 mysql mysql-connector-java 8.0.30 com.baomidou dynamic-datasource-spring-boot-starter 3.3.6 org.springframework.boot spring-boot-starter-data-Redis 2.7.5 org.apache.commons commons-pool2 com.yomahub tlog-all-spring-boot-starter ${tlog.version} com.baomidou mybatis-plus-generator 3.5.3.1 org.apache.velocity velocity-engine-core 2.3 org.projectlombok lombok true provided org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine junit junit org.springframework.boot spring-boot-Maven-plugin 3.0.1 org.projectlombok lombok
项目结构:
application.yml
#容器配置server: port: 8199 servlet: context-path: /datatrans shutdown: graceful#spring基础配置spring: application: name: dataTrans freemarker: check-template-location: false cache: false global: date-fORMat: yyyy-MM-dd HH:mm:ss mvc: throw-exception-if-no-handler-found: true static-path-pattern: actuator@Configuration@MapperScan(basePackages = {"com.xiaotian.datatrans.mapper.mysql"}, sqlSessionTemplateRef = "mysqlSqlSessionTemplate")public class MysqlServerConfig { @Autowired private PaginationInnerInterceptor paginationInnerInterceptor; private static final String MAPPER_LOCATION = "classpath:mapper/tdengine@Configuration@MapperScan(basePackages = "com.xiaotian.datatrans.mapper.tdengine", sqlSessionTemplateRef = "tdengineSqlSessionTemplate")public class TDengineServerConfig { @Autowired private PaginationInnerInterceptor paginationInnerInterceptor; private static final String MAPPER_LOCATION = "classpath:mapper/tdengine@DS("tdengine-service") //指定数据源注解,名称与配置数据源名称一致public interface StudentMapper extends BaseMapper { int insertStudent(Student record); IPage selectStudentPage(Page page,@Param("student") Student custoMQueryParams);}
先看启动类:
package com.xiaotian.datatrans;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.autoconfigure.domain.EntityScan;@EntityScan("com.xiaotian")@SpringBootApplicationpublic class DataTransApplication { public static void main(String[] args) { SpringApplication.run(DataTransApplication.class, args); System.out.println("--数据精灵启动成功--"); }}
1、Mapper扫描问题:
细心的小伙伴可能知道,一般springboot的,要么在配置里配置mapper的包路径,要么在启动类上写注解@MapperScan(“包路径”),如果是多个@MapperScan(basePackages = {“com.xx..mapper","com.xxx..dao”}),但是我这里配置里没有配置,启动类也没有注解,为什么呢?
原因其实很简单,这些预制的基础配置都是给单数据源用的,如果用多数据源,那么各个mapper就要对应不同的数据源,所以这些mapper扫描,在数据源配置类上设置了。大家可以回头看看我的2个数据源配置类是不是有注解@MapperScan。
2、分页插件问题
一般单数据源,那么只需要一个分页插件配置类就行,例如我这里的MyBatisPlusConfig.java。
但是这里因为是多数据源,所以插件的设置需要在数据源上做拦截,大家可以看看我2个数据源里的sessionFactory里的MybatisPlusInterceptor设置。
另外这里要注意的是最新版本的mybatisPlus已经用PaginationInnerInterceptor拦截器了,原先的PaginationInterceptor已经废除了。
来源地址:https://blog.csdn.net/zwrlj527/article/details/128785585
--结束END--
本文标题: SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源
本文链接: https://lsjlt.com/news/372624.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0