1.添加maven依赖

  1. <dependency>
  2. <groupId>com.baomidou</groupId>
  3. <artifactId>mybatisplus-spring-boot-starter</artifactId>
  4. <version>1.0.</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>mybatis-plus</artifactId>
  9. <version>2.1.</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>mysql</groupId>
  13. <artifactId>mysql-connector-java</artifactId>
  14. </dependency>
  15. <dependency>
  16. <groupId>com.alibaba</groupId>
  17. <artifactId>druid</artifactId>
  18. <version>1.1.</version>
  19. </dependency>

2.配置文件

  1. mybatis-plus.configuration.map-underscore-to-camel-case=true
  1. mybatis-plus.mapper-locations=classpath:mapper/*.xml
  2. spring.datasource.url=jdbc:mysql://192.168.5.104:3306/massagecenter?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
  3. spring.datasource.username=zhangxiongfeng
  4. spring.datasource.password=%TGB7ygv
  5. spring.datasource.driverClassName=com.mysql.jdbc.Driver
  6. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  7. spring.datasource.initialSize=5
  8. spring.datasource.minIdle=5
  9. spring.datasource.maxActive=20
  10. spring.datasource.maxWait=60000
  11. spring.datasource.timeBetweenEvictionRunsMillis=60000
  12. spring.datasource.minEvictableIdleTimeMillis=300000
  13. spring.datasource.validationQuery=SELECT 1 FROM DUAL
  14. spring.datasource.testWhileIdle=true
  15. spring.datasource.testOnBorrow=false
  16. spring.datasource.testOnReturn=false
  17. spring.datasource.poolPreparedStatements=true
  18. spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
  19. spring.datasource.filters=stat,wall,log4j
  20. spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000

数据库连接池参数解释:

  1. # 初始化大小,最小,最大
  2.  
  3. spring.datasource.initialSize=
  4.  
  5. spring.datasource.minIdle=
  6.  
  7. spring.datasource.maxActive=
  8.  
  9. # 配置获取连接等待超时的时间
  10.  
  11. spring.datasource.maxWait=
  12.  
  13. # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  14.  
  15. spring.datasource.timeBetweenEvictionRunsMillis=
  16.  
  17. # 配置一个连接在池中最小生存的时间,单位是毫秒
  18.  
  19. spring.datasource.minEvictableIdleTimeMillis=
  20.  
  21. spring.datasource.validationQuery=SELECT  FROM DUAL
  22.  
  23. spring.datasource.testWhileIdle=true
  24.  
  25. spring.datasource.testOnBorrow=false
  26.  
  27. spring.datasource.testOnReturn=false
  28.  
  29. # 打开PSCache,并且指定每个连接上PSCache的大小
  30.  
  31. spring.datasource.poolPreparedStatements=true
  32.  
  33. spring.datasource.maxPoolPreparedStatementPerConnectionSize=
  34.  
  35. # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
  36.  
  37. spring.datasource.filters=stat,wall,log4j
  38.  
  39. # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
  40.  
  41. spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=
  42.  
  43. # 合并多个DruidDataSource的监控数据
  44.  
  45. #spring.datasource.useGlobalDataSourceStat=true
  46.  
  47. 需要注意的是:spring.datasource.type旧的spring boot版本是不能识别的

3置DataSourceConfig配置

  1. package com.zxf.massagecenter.config;
  2.  
  3. import com.alibaba.druid.pool.DruidDataSource;
  4. import org.apache.ibatis.session.SqlSessionFactory;
  5. import org.mybatis.spring.SqlSessionFactoryBean;
  6. import org.springframework.beans.factory.annotation.Value;
  7. import org.springframework.context.annotation.Bean;
  8. import org.springframework.context.annotation.Configuration;
  9. import org.springframework.context.annotation.Primary;
  10. import org.springframework.jdbc.datasource.DataSourceTransactionManager;
  11. import org.springframework.transaction.PlatformTransactionManager;
  12.  
  13. import javax.sql.DataSource;
  14. import java.sql.SQLException;
  15.  
  16. @Configuration
  17. public class DataSourceConfig {
  18.  
  19. @Value("${spring.datasource.url}")
  20. private String dbUrl;
  21.  
  22. @Value("${spring.datasource.username}")
  23. private String username;
  24.  
  25. @Value("${spring.datasource.password}")
  26. private String password;
  27.  
  28. @Value("${spring.datasource.driverClassName}")
  29. private String driverClassName;
  30.  
  31. @Value("${spring.datasource.initialSize}")
  32. private int initialSize;
  33.  
  34. @Value("${spring.datasource.minIdle}")
  35. private int minIdle;
  36.  
  37. @Value("${spring.datasource.maxActive}")
  38. private int maxActive;
  39.  
  40. @Value("${spring.datasource.maxWait}")
  41. private int maxWait;
  42.  
  43. @Value("${spring.datasource.timeBetweenEvictionRunsMillis}")
  44. private int timeBetweenEvictionRunsMillis;
  45.  
  46. @Value("${spring.datasource.minEvictableIdleTimeMillis}")
  47. private int minEvictableIdleTimeMillis;
  48.  
  49. @Value("${spring.datasource.validationQuery}")
  50. private String validationQuery;
  51.  
  52. @Value("${spring.datasource.testWhileIdle}")
  53. private boolean testWhileIdle;
  54.  
  55. @Value("${spring.datasource.testOnBorrow}")
  56. private boolean testOnBorrow;
  57.  
  58. @Value("${spring.datasource.testOnReturn}")
  59. private boolean testOnReturn;
  60.  
  61. @Value("${spring.datasource.poolPreparedStatements}")
  62. private boolean poolPreparedStatements;
  63.  
  64. @Value("${spring.datasource.maxPoolPreparedStatementPerConnectionSize}")
  65. private int maxPoolPreparedStatementPerConnectionSize;
  66.  
  67. @Value("${spring.datasource.filters}")
  68. private String filters;
  69.  
  70. @Value("${spring.datasource.connectionProperties}")
  71. private String connectionProperties;
  72.  
  73. @Bean //声明其为Bean实例
  74. @Primary //在同样的DataSource中,首先使用被标注的DataSource
  75. public DataSource dataSource(){
  76. DruidDataSource datasource = new DruidDataSource();
  77.  
  78. datasource.setUrl(this.dbUrl);
  79. datasource.setUsername(username);
  80. datasource.setPassword(password);
  81. datasource.setDriverClassName(driverClassName);
  82.  
  83. //configuration
  84. datasource.setInitialSize(initialSize);
  85. datasource.setMinIdle(minIdle);
  86. datasource.setMaxActive(maxActive);
  87. datasource.setMaxWait(maxWait);
  88. datasource.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);
  89. datasource.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);
  90. datasource.setValidationQuery(validationQuery);
  91. datasource.setTestWhileIdle(testWhileIdle);
  92. datasource.setTestOnBorrow(testOnBorrow);
  93. datasource.setTestOnReturn(testOnReturn);
  94. datasource.setPoolPreparedStatements(poolPreparedStatements);
  95. datasource.setMaxPoolPreparedStatementPerConnectionSize(maxPoolPreparedStatementPerConnectionSize);
  96. try {
  97. datasource.setFilters(filters);
  98. } catch (SQLException e) {
  99. //log.error("druid configuration initialization filter", e);
  100. }
  101. datasource.setConnectionProperties(connectionProperties);
  102.  
  103. return datasource;
  104. }
  105.  
  106. @Bean
  107. public SqlSessionFactory sqlSessionFactory() throws Exception {
  108. SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
  109. sqlSessionFactoryBean.setDataSource(dataSource());
  110. return sqlSessionFactoryBean.getObject();
  111. }
  112.  
  113. @Bean
  114. public PlatformTransactionManager transactionManager() throws SQLException {
  115. return new DataSourceTransactionManager(dataSource());
  116. }
  117. }

springboot+mybatisplus+druid数据库的更多相关文章

  1. SpringBoot使用Druid数据库加密链接完整方案

    网上的坑 springboot 使用 Druid 数据库加密链接方案,不建议采用网上的一篇文章<springboot 结合 Druid 加密数据库密码遇到的坑!>介绍的方式来进行加密链接实 ...

  2. 解决springboot druid 数据库批量更新错误问题

    原文:https://www.2cto.com/kf/201712/706399.html springboot druid 数据库多SQL错误multi-statement not allow Ca ...

  3. spring-boot+mybatisPlus+shiro的集成demo 我用了5天

    spring-boot + mybatis-plus + shiro 的集成demo我用了五天 关于shiro框架,我还是从飞机哪里听来的,就连小贱都知道,可我母鸡啊.简单百度了下,结论很好上手,比s ...

  4. IDEA上创建 Maven SpringBoot+mybatisplus+thymeleaf 项目

    概述 在WEB领域,Java也是在不断的探索和改进,从开始的JSP--->Struts1--->Struts2+Spring--->Spring MVC--->SpringBo ...

  5. springboot+mybatisplus+sharding-jdbc分库分表实例

    项目实践 现在Java项目使用mybatis多一些,所以我也做了一个springboot+mybatisplus+sharding-jdbc分库分表项目例子分享给大家. 要是用的springboot+ ...

  6. springboot + mybatisPlus 入门实例 入门demo

    springboot + mybatisPlus 入门实例 入门demo 使用mybatisPlus的优势 集成mybatisplus后,简单的CRUD就不用写了,如果没有特别的sql,就可以不用ma ...

  7. SpringBoot+Mybatis-Plus整合Sharding-JDBC5.1.1实现单库分表【全网最新】

    一.前言 小编最近一直在研究关于分库分表的东西,前几天docker安装了mycat实现了分库分表,但是都在说mycat的bug很多.很多人还是倾向于shardingsphere,其实他是一个全家桶,有 ...

  8. 基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建

    基于Maven的Springboot+Mybatis+Druid+Swagger2+mybatis-generator框架环境搭建 前言 最近做回后台开发,重新抓起以前学过的SSM(Spring+Sp ...

  9. springboot配置Druid数据源

    springboot配置druid数据源 Author:SimpleWu springboot整合篇 前言 对于数据访问层,无论是Sql还是NoSql,SpringBoot默认采用整合SpringDa ...

随机推荐

  1. zabbix--基本操作

    zabbix 快速上手 示例一些zabbix的最基本的配置: 添加主机群组:添加主机:创建监控项:创建触发器 添加主机群组 参考官档:https://www.zabbix.com/documentat ...

  2. 初入Linux

    初步进入linux世界 [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某 ...

  3. 使用adb/Linux获取网关ip

    ip route list table

  4. discuz x3.3排行首页图片显示更多的图片

    找到\source\include\misc\misc_ranklist_index.php文件,修改41行 $ranklist = getranklist_pictures_index(9); 为 ...

  5. 用mysql实现类似于oracle dblink的功能

      用mysql实现类似于oracle dblink的功能 首先看看有没有federated 引擎. mysql> show engines; +------------+----------+ ...

  6. mysql关键字--设计表时要避开,否则回报语法错误

    https://dev.mysql.com/doc/refman/5.7/en/keywords.html#keywords-in-current-series Keywords and Reserv ...

  7. ajax请求数据时,get和post的区别

    发送机制 1.get请求会将参数跟在URL后面进行参数传递,而post请求则是作为http消息的实体内容发送给web服务器: 2.get提交的数据限制是1024字节,这种显示是来自特定浏览器和服务器对 ...

  8. QQ互联登陆(Java)

    一.准备部分 1.账户注册 腾讯开放平台网址: https://connect.qq.com/index.html 首先需要到开放平台注册QQ互联开发者身份.注册之后创建一个网站应用,注意,需要备案成 ...

  9. golang 几个好用的cli package

    cli 开发在golang 的软件开发中占用很大,同时开源的比较好用的cli也很多,以下是整理的几个cli github.com/spf13/cobra 这个比较有名了, 好多框架都使用了这个 以下是 ...

  10. vue中computed和watch的区别,以及适用场景

    computed:通过属性计算而得来的属性 1.computed内部的函数在调用时不加(). 2.computed是依赖vm中data的属性变化而变化的,也就是说,当data中的属性发生改变的时候,当 ...