Spring Boot 整合MyBatis框架
第一步:添加mybatis启动依赖
1 <dependency> 2 <groupId>org.mybatis.spring.boot</groupId> 3 <artifactId>mybatis-spring-boot-starter</artifactId> 4 <version>2.1.1</version> 5 </dependency>
注意:在添加此依赖时,一定指定其版本(version),因为在springboot默认配置中没有设置mybatis框架版本。
我们添加了mybatis依赖以后,spring框架启动时会对mybatis进行自动配置。例如SqlSessionFactory工厂对象的创建。
第二步:Mybatis简易配置
1 mybatis.configuration.default-statement-timeout=30 2 mybatis.configuration.map-underscore-to-camel-case=true 3 #配置mybatis中的sql日志的输出:(com.cy为我们写的项目的根包) 4 logging.level.com.cy=DEBUG
第三步:定义商品业务数据层接口及业务方法。
1 package com.cy.pj.goods.dao; 2 import org.apache.ibatis.annotations.Delete; 3 import org.apache.ibatis.annotations.Mapper; 4 @Mapper 5 public interface GoodsDao { 6 @Delete("delete from tb_goods where id=#{id}") 7 int deleteById(Integer id); 8 }
第四步:定义测试类,对GoodsDao对象进行应用测试
1 @SpringBootTest 2 public class GoodsDaoTests { 3 4 @Autowired 5 private GoodsDao goodsDao; 6 7 @Test 8 public void testDeleteById() { 9 int rows=goodsDao.deleteById(10); 10 System.out.println("rows="+rows); 11 } 12 }
第五步:业务进阶分析及实现
Step01:在GoodsDao中,定义删除方法,具体代码如下:
1 int deleteObjects(@Param("ids")Integer... ids);
Step02:在src/main/resources目录下创建mapper/goods目录,然后在其目录中添加GoodsMapper.xml映射文件(文件名可自己指定),并添加如下内容:
1 <?xml version="1.0" encoding="UTF-8"?> 2 <!DOCTYPE mapper 3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 5 <mapper namespace="com.cy.pj.goods.dao.GoodsDao"> 6 <delete id="deleteObjects"> 7 delete from tb_goods 8 where id in <!-- (1,2,3,4,5) --> 9 <foreach collection="ids" 10 open="(" 11 close=")" 12 separator="," 13 item="id"> 14 #{id} 15 </foreach> 16 </delete> 17 </mapper>
Step03:在application.properties文件中添加如下配置:
1 mybatis.mapper-locations=classpath:/mapper/*/*.xml
Step04:在GoodsDaoTests类中添加如下单元测试方法进行单元测试:
1 @Test 2 public void testDeleteObjects() { 3 int rows=goodsDao.deleteObjects(17,18); 4 System.out.println(rows); 5 }