boot druid 长时间不连接 异常_SpringBoot使用MyBatis+Tkmybatis+Druid步骤

SpringBoot使用MyBatis+Tkmybatis+Druid步骤

f40e5cfbe4c5e212c522d84f9900de93.png

全部介绍

MyBatis+Tkmybatis+Druid:

  • MyBatis:MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。
  • Tkmybatis:Tkmybatis基于Mybatis框架开发的一个工具,通过调用Tkmybatis提供的方法实现对单表的数据操作,不需要写任何sql语句,这极大地提高了项目开发效率。
  • Druid:Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

构建步骤

  • 依赖包的引入:MyBatis依赖包、Tkmybatis依赖包、Druid依赖包的引入、逆向工程依赖包。
  • 配置文件的添加:MyBatis、Tkmybatis、Druid都有对应的配置在application.yml和application-dev.yml。
  • Java类实现:Druid的Java类实现并引入监控台。
  • 逆向工程:生成Tkmybatis对应的MyBatis的实体类和mapper类及mapper配置文件。
  • 运行项目:日志打印出来,表示配置成功

具体构建步骤

1、依赖包的引入

MyBatis依赖包、Tkmybatis依赖包、Druid依赖包的引入:

820fb7d7a1e9d6f169217ab0b639a115.png
mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-data-jpaorg.mybatis.spring.bootmybatis-spring-boot-starter1.3.1com.alibabadruid-spring-boot-starter1.1.9tk.mybatismapper-spring-boot-starter2.0.0

逆向工程插件依赖包:

3dbd2345dcefb98f3b0cee2e1f30e288.png
org.mybatis.generatormybatis-generator-maven-plugin1.3.5${basedir}/src/main/resources/generator/generatorMainboot.xmltruetruemysqlmysql-connector-java${mysql.version}tk.mybatismapper3.4.4

2、配置文件的添加

如果配置application.yml和application-dev.yml不知道什么,可以参考:Spring Boot 支持各种环境配置。

配置文件:application.yml

dd73a955c461aad0ca36ff3497d978ad.png
 mybatis: typeAliasesPackage: com.mainboot.mainbootAdmin.model mapperLocations: classpath:mapper/*.xml

配置文件:application-dev.yml

bd5cae0b9a6958e7aa11e92fd21ecc35.png
 #开发配置spring: profiles: dev datasource: url: jdbc:mysql://127.0.0.1/mainboot?useSSL=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=UTC username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver # 使用druid数据源 type: com.alibaba.druid.pool.DruidDataSource# initialSize: 20# minIdle: 20# maxActive: 40# timeBetweenEvictionRunsMillis: 60000# minEvictableIdleTimeMillis: 300000# validationQuery: SELECT 1 FROM DUAL# testWhileIdle: true# testOnBorrow: false# testOnReturn: false# poolPreparedStatements: true#配置监控统计拦截的filters,stat:监控统计、log4j:日志记录、wall:防御sql注入#如果允许时报错 java.lang.ClassNotFoundException: org.apache.log4j.Priority#则导入 log4j 依赖即可,Maven 地址: https://mvnrepository.com/artifact/log4j/log4j# filters: stat,wall,log4j# maxPoolPreparedStatementPerConnectionSize: 20# useGlobalDataSourceStat: true# connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

3、Java类实现

实现了DruidConfig类:

3c4d939bcf1ae7d8e042b180b826c47f.png
 package com.mainboot.mainbootAdmin.config;import java.util.Arrays;import java.util.HashMap;import java.util.Map;import javax.annotation.Resource;import javax.sql.DataSource;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.boot.web.servlet.FilterRegistrationBean;import org.springframework.boot.web.servlet.ServletRegistrationBean;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.env.Environment;import com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.support.http.StatViewServlet;import com.alibaba.druid.support.http.WebStatFilter;/** *  * Druid 数据源配置类 */@Configurationpublic class DruidConfig {@Resourceprivate Environment environment;@Value("${my.name}")private String myName;private static final Logger LOG = LoggerFactory.getLogger(DruidConfig.class);/** * 将自定义的 Druid 数据源添加到容器中,不再让 Spring Boot 自动创建 这样做的目的是:绑定全局配置文件中的 druid 数据源属性到 * com.alibaba.druid.pool.DruidDataSource 从而让它们生效 *  * @ConfigurationProperties(prefix = "spring.datasource"):作用就是将 全局配置文件中 前缀为 * spring.datasource 的属性值注入到 * com.alibaba.druid.pool.DruidDataSource 的同名参数中 * * @return */@ConfigurationProperties(prefix = "spring.datasource")@Beanpublic DataSource druidDataSource() {return new DruidDataSource();}/** * 配置 Druid 监控 之 管理后台的 Servlet 内置 Servler 容器时没有web.xml 文件,所以使用 Spring Boot 的注册 * Servlet 方式 */@Beanpublic ServletRegistrationBean statViewServlet() {ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");Map initParams = new HashMap<>();initParams.put("loginUsername
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值