SpringBoot 集成MyBatis、事务管理

2020-02-08 16:04:34来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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。

 

 

(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接口对应。

springboot的src/java下只放java源文件,配置文件、静态资源、映射文件都放到src/resources下。

 

 

(5)编写service、controller

在service中注入Mapper时,IDEA会显示红色,实际上没问题。

 

 

(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即可。

 


原文链接:https://www.cnblogs.com/chy18883701161/p/12284972.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:MyBatis6——一级缓存、二级缓存、逆向工程

下一篇:super与this无法用在static方法中