Springboot、springmvc集成mybatis
文章目录
前言
今天重新理一下这个知识点,以免以后忘记了,浪费时间。
一、使用springmvc集成mybatis
我们平时使用springmvc集成mybatis,比较麻烦,大致分为以下几个步骤:
1、先在maven添加相关依赖
<!--jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.0.8.RELEASE</version>
</dependency>
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.2</version>
</dependency>
2、在applicationContext.xml添加MyBatis Mapper Scan Config
<!-- 加载配置属性文件 -->
<context:property-placeholder ignore-unresolvable="true" location="classpath*:/*.properties"/>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<!-- MyBatis Mapper Scan Config -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 自动扫描Mapping.xml文件 -->
<property name="mapperLocations" value="classpath:xml/*.xml"/>
<property name="typeAliasesPackage" value="com.fm.entity"/>
<!-- configLocation-->
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>
<!-- SqlSessionFactory Config -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.fm.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
3、如果有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="logImpl" value="SLF4J" />
</settings>
<typeAliases>
<package name="com.fm.entity"/>
</typeAliases>
</configuration>
ok,配置好后后就可以测试了
二、使用springboot集成mybatis
使用springboot集成和springmvc类似。
1.添加maven依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
mybatis-spring-boot-starter中包含了mybatis、和mybatis-spring等的依赖,除此之外还包含了spring-boot-starter-jdbc、mybatis-spring-boot-autoconfigure等jdbc和springboot的自动配置。
2.在application.yml文件添加相关配置
mybatis:
mapper-locations: classpath:mapper/*.xml
config-location: classpath:mybatis-config.xml
3.在启动application上添加@MapperScan注释
这个注释可扫描mapper文件,如果不加这个的话,在旧的写法中,需要将每个mapper类上添加@Mapper注解
package com.fm.springbootdemo;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("com.fm.springbootdemo.mapper")
public class SpringbootdemoApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootdemoApplication.class, args);
}
}
4.如果有mybatis的相关配置需添加mybatis-config.xml配置文件
这个和springmvc一样,只是配置方式不一样。
好了,配置完毕,可以测试了
总的来说,虽然springboot比springmvc多了一步,但是springboot的配置简单,上手快。但如果不熟悉springmvc的配置,很容易忽略原理。具体细节,可先使用springmvc集成普通的jdbctemplate与springmvc集成mybatis进行对比。