<!-- 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>
不需要在实体类上标@Component。
@Mapper public interface UserMapper{ public User queryUserById(Integer id); }
<?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下。
在service中注入Mapper时,IDEA会显示红色,实际上没问题。
#配置数据源,此处使用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是不同的。
集成mybatis导入的依赖中已经包含了事务管理需要的依赖,所以不需要在pom.xml中再添加依赖,直接在service层要加事务的业务方法上标注@Transactional即可。
原文:https://www.cnblogs.com/chy18883701161/p/12284972.html