说明

作者: 牧夫i | 来源:发表于2018-07-10 14:17 被阅读0次

说明

开发工具默认集成spring data jpa 操作数据库,在实际项目使用不方便,现集成Mybatis以及Mybatis-Plus插件,使用HikariCP作为数据源。

一 、集成数据源

  • 添加以下jar包
HikariCP-2.6.3.jar
  • 数据源配置
spring.datasource.url=jdbc:mysql://ip:port/ctpsp
# 加密数据库连接信息
spring.datasource.username=ENC(ukdPxk2YeSrilKZFvsNr2g==)
spring.datasource.password=ENC(nK0oIOT1Mx6Kn27UhntqBg==)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.pool-name=DataBaseHikari
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1

二 、集成MyBatis和Mybatis-Plus插件

  • 添加以下jar包
jsqlparser-0.9.5.jar
mybatis-3.4.4.jar
mybatis-plus-2.1.9.jar
mybatis-plus-core-2.1.9.jar
mybatis-plus-generate-2.1.9.jar
mybatis-plus-support-2.1.9.jar
mybatis-spring-1.3.1.jar
mybatis-spring-boot-autoconfigure-1.3.0.jar
mybatis-spring-boot-starter-1.3.0.jar
mybatisplus-spring-boot-starter-1.0.5.jar
  • 配置

在启动类上添加mybati扫描路径以及注入分页插件

 @MapperScan("com.gdtnx.cloud.**.mapper")

在启动类中注入分页插件

 @Bean
 public PaginationInterceptor paginationInterceptor() {
   PaginationInterceptor page = new PaginationInterceptor();
   return page;
 }

配置文件中配置扫描Mbatis的XML文件路径

# mybatis-plus
mybatis-plus.mapper-locations = classpath:mapper/*.xml
mybatis-plus.typeAliasesPackage = com.gdtnx.cloud.**.domain

三 、使用

请参照具体代码和官方API文档

四、多数据源

多数据源源代码位于dysource包目录下

  • 在程序的主入口添加以下
@Import(DynamicDataSourceRegister.class)
public class Application {
  public static void main(String[] args) {
      SpringApplication.run(Application.class, args);
  }
}
  • 配置文件中添加多数据源配置信息(用户名密码支持加密)
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.25.163:3306/ctpsp?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
#spring.datasource.username=dept
#spring.datasource.password=novell
spring.datasource.username=ENC(ukdPxk2YeSrilKZFvsNr2g==)
spring.datasource.password=ENC(nK0oIOT1Mx6Kn27UhntqBg==)
spring.datasource.maximum-pool-size=80
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
spring.datasource.poolPreparedStatements=true
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20

# 更多数据源
custom.datasource.names=ds1,ds2
custom.datasource.ds1.driver-class-name=com.mysql.cj.jdbc.Driver
custom.datasource.ds1.url=jdbc:mysql://192.168.25.163:3306/paca?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
custom.datasource.ds1.username=dept
custom.datasource.ds1.password=ENC(nK0oIOT1Mx6Kn27UhntqBg==>)
custom.datasource.ds1.type=com.zaxxer.hikari.HikariDataSource

custom.datasource.ds2.driver-class-name=com.mysql.cj.jdbc.Driver
custom.datasource.ds2.url=jdbc:mysql://192.168.25.163:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
custom.datasource.ds2.username=dept
custom.datasource.ds2.password=novell
custom.datasource.ds2.type=com.zaxxer.hikari.HikariDataSource
  • 使用
    在service层使用TargetDataSource注解切换数据源

相关文章

  • 说明~说明~

    咳咳 之前在斗觅的大号说这个号不用了 but! 这个号可以把我无聊的心思给大破,啊呸!打破! 打破! 打破! 打破...

  • 说明

    作者看了石头门之后突发奇想写的书,如果有特别雷同的部分,请QQ告诉我,我会后期修改

  • 说明

    截止到现在我的存稿就发完了,之后大概会在简书和起点同步更新。我尽量保证周更,但是最近比较忙估计会欠几更,等月底忙完...

  • 说明

    原本计划写的连载小说,不在简书上更新了,换了平台。貌似我写的不对简书口味

  • 说明

    这一文集记录自二模以来成绩,考后总结,吐槽

  • 说明

    这一个文集记录平时的学习感想,计划以及一些流水账

  • 说明

    最近在策划重大剧情,不久后将会迎来大更新

  • 说明

    目的:谨以此书献给自己,见证自己五年的成长。 如果能够给你一些思考或启发,那将是我的荣幸。 作者简介:潘诗音,一个...

  • 说明

    话说作者并没太监,这本小说还是会写下去的,不管有没有人看呐 血小板敬上

  • 说明

    家之外 给孩子一个温馨的港湾。 学校之外 给孩子一个轻松的课堂和您一样 外婆的学堂愿给孩子一个轻松又安全的成长...

网友评论

      本文标题:说明

      本文链接:https://www.haomeiwen.com/subject/kibfpftx.html