Spring Boot 整合MyBatis框架
阿新 • • 發佈:2020-10-07
第一步:新增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 packagecom.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 @SpringBootTest2 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 }