近年来,由于spring boot 的兴起,传统的SSM架构正逐渐的由spring mvc +spring+mybatis向spring boot+spring+mybatis的转变,那么问题来了,如何在spring boot中整合mybatis呢?话不多说,直接上菜!
1.新建spring boot 工程,不会的同学可以先移步去学习一下spring boot工程的创建,在此不再赘述。
2.引入mybatis依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
3.引入数据库驱动包,这里以Oracle数据库为例
<dependency>
<groupId>com.hynnet</groupId>
<artifactId>oracle-driver-ojdbc</artifactId>
<version>12.1.0.2</version>
</dependency>
4.在项目资源目录下创建mybatis配置文件mybatis-config.xml,内容
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="callSettersOnNulls" value="true"/>
<setting name="cacheEnabled" value="true"/>
<setting name="lazyLoadingEnabled" value="true"/>
<setting name="aggressiveLazyLoading" value="true"/>
<setting name="multipleResultSetsEnabled" value="true"/>
<setting name="useColumnLabel" value="true"/>
<setting name="useGeneratedKeys" value="false"/>
<setting name="autoMappingBehavior" value="PARTIAL"/>
<setting name="defaultExecutorType" value="SIMPLE"/>
<setting name="mapUnderscoreToCamelCase" value="true"/>
<setting name="localCacheScope" value="SESSION"/>
<setting name="jdbcTypeForNull" value="NULL"/>
</settings>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" />
<typeAlias alias="Long" type="java.lang.Long" />
<typeAlias alias="HashMap" type="java.util.HashMap" />
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
<typeAlias alias="ArrayList" type="java.util.ArrayList" />
<typeAlias alias="LinkedList" type="java.util.LinkedList" />
</typeAliases>
</configuration>
5.在spring boot 配置文件application.properties中添加数据源和mybatis配置文件的路径
spring.datasource.url=jdbc:oracle:thin:@127.0.0.1:1526:d0gccob
spring.datasource.username= username
spring.datasource.password= password
spring.datasource.driverClassName = oracle.jdbc.OracleDriver
mybatis.config-locations=classpath:mybatis-config.xml
mybatis.mapper-locations=classpath:xml/*.xml
6.到此,配置的东西基本搞完了,接下来就是mapper接口和对应的xml文件的编写了。
在资源文件目录下创建xml文件夹,存在mapper接口对应的xml文件:*.xml,需要指定一下mapper接口所在的类
<mapper namespace="com.example.demo.mapper.TbBusinessDataOapMapper">
接口方法如下:
public interface TbBusinessDataOapMapper{
/**
* 保存
*
* @param tbBusinessDataOap 数据表
*/
void insert(TbBusinessDataOap tbBusinessDataOap);
/**
* 批量保存
*
* @param tbBusinessDataOap 数据表
*/
void insertList(List<TbBusinessDataOap> tbBusinessDataOapList);
}
方法的调用就不写了,这个应该不需要说了。
7.万事具备,只欠东风。相关的配置文件和接口方法都已经写好了,接下来,还需在启动类中指定mapper所在的包,这样spring boot 在启动的时候才能找得到,我这里的mapper接口所在的包为:com.example.demo.mapper
@Configuration
@ComponentScan
@EnableAutoConfiguration
@MapperScan(basePackages = "com.example.demo.mapper")
public class DemoApplication{
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
经过以上的整合,就能将mybatis整合进spring boot中了