Spring Boot 配置数据源和MyBatis设置

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。开发者只需要进行少量配置,即可以使用它快速搭建 JAVA应用。这篇博客将简单示例如何通过Properties文件设置数据源和Mybatis配置。

数据源(DataSource Bean)配置

数据源(DataSource)配置主要分为两部分,一部分是jdbc连接信息,一部分是连接池的配置。jdbc连接配置信息如下:

#配置数据源,springboot 根据此配置自动生成dataSource
spring.datasource.type=org.apache.commons.dbcp2.BasicDataSource
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.username=username
spring.datasource.password=password

连接池我主要采用的是Apache的dbcp2,所以,接下来的配置主要是针对这类连接池配置的,主要配置参数和作用可在官网上查阅(Apache Common DBCP Configuraiton)。主要配置如下:

#配置数据源连接池dpcp2
spring.datasource.dbcp2.initial-size=12
spring.datasource.dbcp2.max-idle=10
spring.datasource.dbcp2.min-idle=6
spring.datasource.dbcp2.max-wait-millis=1800000
spring.datasource.dbcp2.remove-abandoned-on-borrow=true
spring.datasource.dbcp2.remove-abandoned-timeout=180
spring.datasource.dbcp2.num-tests-per-eviction-run=10
spring.datasource.dbcp2.validation-query=select 1 from dua

MyBatis配置

在Spring中配置Mybatis有两个注意点,一个是Mybatis自身的设置及其SqlSessionFactory的配置,一个是让Spring将对应的Mapper接口类注册为Bean。完成这两点,Mybatis的配置就完成了。首先,我将配置Mybatis的设置,如下所示:

#配置Mybatis SqlSessionFactory 
#配置Mybatis扫描mapper配置文件的规则
mybatis.mapper-locations=classpath:com/study/**/mapper/*Mapper.xml
#配置Mybatis 配置文件的路径
mybatis.config-location=classpath:mybatis-config.xml

当然,Spring Boot提供的MyBatis配置项不止这两点,我配置这两项是因为这两项基本能满足示例使用要求。接下来,就是配置Spring扫描mapper接口类的规则。由于这次没有使用到Java配置类,所以我直接将MapperScan注解配置在了启动类上:

package com.study;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan(basePackages = "com.study.**.mapper")
public class StudyApplication {

  public static void main(String[] args){
  SpringApplication.run(ReporterApplication.class, args);
  }
}

上述代码块中,@MapperScan(basePackages =”com.study.**.mapper”)就是告知Spring在mapper接口类所在的包路径,这个注解等同于在spring context配置文件中(xml文件)中进行的mapper扫描配置。

<beans xmlns="http://www.springframework.org/schema/beans"  
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://mybatis.org/schema/mybatis-spring http://mybatis.org/schema/mybatis-spring.xsd">
<mybatis:scan base-package="org.mybatis.spring.sample.mapper" />
<!-- ... -->
</beans>

配置完数据源和Mybatis后,Spring Boot项目即可正常启动并注册对应的mapper,进行数据的操作了。

参考

留下评论