我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源

前言

       昨天写的idea+Apifox uploader插件+apifox新年第一天上班就上榜了,真是不错。今天来补一篇,本来应该是在前一篇之前发的。实际上就是最新的springBoot集成最新的mybatisPlus,加双数据源:mysql、TDengine,一个关系型数据库,一个时序数据库。文末有独家demo的git地址。
       springBoot3集成的哦,其他依赖也都是最新版本,独家的哦。好了,不废话,直接上重点。


一、新建最新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.projectlomboklombok                                                                                    

项目结构:
在这里插入图片描述

二、关键代码

1.多数据源配置

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);}

3.核心注意点

先看启动类:

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已经废除了。


总结

  • mybatisPlus真香,支持的数据源真多
  • mybatisPlus、分页插件支持TDengine不久,TDengine的更新是用insert操作的,只是时间挫是一致的就行,但是mybatisPlus的BaseMapper里的update方法并不会根据数据源使用insert组织sql。
  • mybatisPlus在3.4.2时移除了Rest Api
  • CSDN的gitcode也真香啊
  • 本次案例的整个demo就在我的gitcode里,公开的,git下载以后,改改配置里的数据源ip、账号、密码,建表就可以看到效果了。地址:https://gitcode.net/zwrlj527/data-trans.git
           好了,就到这里,希望可以帮到大家,uping!!!

来源地址:https://blog.csdn.net/zwrlj527/article/details/128785585

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源

前言        昨天写的idea+Apifox uploader插件+apifox新年第一天上班就上榜了,真是不错。今天来补一篇,本来应该是在前一篇之前发的。实际上就是最新的springBoot集成最新的mybatisPlus,加双数据
2023-08-17

编程热搜

目录