SpringBoot整合Mybatis
基础步骤
- 导入依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!-- mybatis整合SpringBoot起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
- 在SpringBoot核心配置文件application.properties中配置数据源。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/spring?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
- 编写mapper、service和model,model和mapper可以使用MyBtis逆向工程生成。
- 在mapper接口中添加
@Mapper
或者在SpringBoot运行主类中添加注解包扫描@MapperScan(basePackages = "扫描包的路径")
。
作用:mybatis自动扫描数据持久层的映射文件及DAO接口的关系。
5.注意事项:
a) 使用MyBatis逆向工程生成的mapper.xml文件与dao接口在同一目录下。需配置编译目录。
<resources>
<resource>
<directory>src/main/java</directory>
<filtering>false</filtering>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
b) 如果将配置文件放在resources下,需要在SpringBoot主配置文件中配置:mybatis.config-location="classpath:路径名"
SpringBoot事务支持
- 在入口类中使用注解
@EnableTransactionManagement
开启事务。 - 在访问数据库的Service方法上添加注解
@Transactional
。