搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试
①版本
spring-boot-starter与spring-boot-starter-test
mybatis-spring-boot-starter
druid
sqlite-jdbc
org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test test org.mybatis.spring.boot mybatis-spring-boot-starter 1.1.1 com.alibaba druid 1.1.9 org.xerial sqlite-jdbc ③21.0.1
注意1:sqlite不支持spring.datasource.filters的wall,请去掉
官网配置https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter
spring.datasource.driver-class-name=org.sqlite.JDBC spring.datasource.url=jdbc:sqlite:F:/epgis/program/gis-server/dataserver.pak spring.datasource.username= spring.datasource.password= spring.datasource.type=com.alibaba.druid.pool.DruidDataSource #?初始化大小,最小,最大 spring.datasource.initialSize=1 spring.datasource.minIdle=3 spring.datasource.maxActive=20 #?配置获取连接等待超时的时间 spring.datasource.maxWait=60000 #?配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 spring.datasource.timeBetweenEvictionRunsMillis=60000 #?配置一个连接在池中最小生存的时间,单位是毫秒 spring.datasource.minEvictableIdleTimeMillis=30000 spring.datasource.validationQuery=select 'x' spring.datasource.testWhileIdle=true spring.datasource.testOnBorrow=false spring.datasource.testOnReturn=false #?打开PSCache,并且指定每个连接上PSCache的大小 spring.datasource.poolPreparedStatements=true spring.datasource.maxPoolPreparedStatementPerConnectionSize= 20 #?配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 # sqlite不支持wall,使用sqlite请去掉 spring.datasource.filters=stat,slf4j #?通过connectProperties属性来打开mergeSql功能;慢SQL记录 spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 #?合并多个DruidDataSource的监控数据 #useGlobalDataSourceStat=true mybatis.mapper-locations=classpath:mybatis/*.xml
注意1:@configurationProperties的prefix里的设置,spring.datasource代表application.properties里的spring.datasource下的值,将自动调用DruidDataSource相同名称的set方法.
import javax.sql.DataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import com.alibaba.druid.pool.DruidDataSource; @Configuration public class DruidConfiguration { private static final Logger logger = LoggerFactory.getLogger(DruidConfiguration.class); @ConfigurationProperties(prefix = "spring.datasource") public DataSource dataSource1() { return new DruidDataSource(); /*@Bean }*/ }
package com.epgis.gisserver; import java.sql.Connection; import java.sql.SQLException; import javax.sql.DataSource; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit④SpringRunner; import com.alibaba.druid.pool.DruidDataSource; @SpringBootTest @RunWith(SpringRunner.class) public class DataSouceTest { public void contextDuridLoads() throws SQLException { Connection con = dataSource1.getConnection(); System.err.println("**************"); DruidDataSource dss = (DruidDataSource)dataSource1; // 数据源例如:HikariDataSource(springboot2.x默认),DruidDataSource,dbcp2DataSource System.err.println(dataSource1.getClass().getName()); // 连接例如org.sqlite.SQLiteConnection System.err.println(con); System.err.println("**************"); } }
检查1:dataSource1对象为DruidDataSource即为数据库连接池设置成功.
很多人对这一步骤很熟悉了,在此简写.
路径:mybatis.mapper-locations=classpath:mybatis/*.xml
xml对应位置:
org.xerial sqlite-jdbc ③21.0.1
com.oracle ojdbc6 11.2.0.2
mysql mysql-connector-java ⑤1.6
以上就是土嘎嘎小编为大家整理的springboot+mybatis+druid+sqlite/mysql/oracle相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!