Login
网站首页 > 文章中心 > 其它

springboot+mybatis+druid+sqlite/mysql/oracle

作者:小编 更新时间:2023-08-07 10:39:06 浏览量:15人看过

搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试

①版本

spring-boot-starter与spring-boot-starter-test

mybatis-spring-boot-starter

springboot+mybatis+druid+sqlite/mysql/oracle-图1

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对应位置:

springboot+mybatis+druid+sqlite/mysql/oracle


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相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章