SpringBoot 集成MyBatis、事務管理

 

集成MyBatis

(1)在pom.xml中添加依賴

        <!-- mybatis的起步依賴。包含了mybatis、mybatis-spring、spring-jdbc(事務要用到)的座標 -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <!--這個必需要加版本號-->
            <version>2.1.1</version>
        </dependency>
        
        <!--mysql驅動-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

 

 

(2)編寫實體類,包名經常使用model、domain

不須要在實體類上標@Component。java

 

 

(3)新建包com.chy.mapper,編寫mapper接口。

@Mapper
public interface UserMapper{
    public User queryUserById(Integer id);
}

 

 

(4)在resource下新建文件夾mapper,編寫mybatis的映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.chy.mapper.UserMapper">
    <select id="queryUserById" parameterType="Integer" resultType="user">
        select * from user_tb where id=#{id}
    </select>
</mapper>

注意namespace要和mapper接口對應。mysql

springboot的src/java下只放java源文件,配置文件、靜態資源、映射文件都放到src/resources下。spring

 

 

(5)編寫service、controller

在service中注入Mapper時,IDEA會顯示紅色,實際上沒問題。sql

 

 

(6)在springboot的配置文件中配置數據庫、mybatis

#配置數據源,此處使用jdbc數據源、mysql數據庫
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/my_db?serverTimezone=GMT
spring.datasource.username=chy
spring.datasource.password=abcd
        
#配置mybatis
#配置實體類的別名
mybatis.type-aliases-package=com.chy.model
#指定映射文件的位置
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

注意:jdbc數據源、dbcp數據源、tomcat數據源使用的key是不一樣的。數據庫

 

 


 

 

 

集成Spring的事務管理

集成mybatis導入的依賴中已經包含了事務管理須要的依賴,因此不須要在pom.xml中再添加依賴,直接在service層要加事務的業務方法上標註@Transactional便可。tomcat

相關文章
相關標籤/搜索