亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Spring boot整合mybatis的方法

發布時間:2020-08-12 15:49:19 來源:億速云 閱讀:212 作者:小新 欄目:開發技術

Spring boot整合mybatis的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!

導入mybatis jar包

右鍵pom.xml

Spring boot整合mybatis的方法
Spring boot整合mybatis的方法

模擬springboot底層實現類

1.

定義接口

@Mapper

public interface GoodsDao {
	/**
	 * 基于商品id刪除商品
	 * @param id 商品id
	 * @return 刪除行數
	 * 數據層方法對象的sql映射
	 */

     @Delete("delete from tb_goods where id=#{id}")
      //當傳入的參數只有一個且不是數組時
      //#{id}這個地方的變量可以不是傳入的參數名(自己隨意)
     int deleteById(Integer id);

}

測試

@SpringBootTest
public class TestGoods {

	@Autowired
	private GoodsDao gd;
	@Test
	void TestGoods() {
		int i =gd.deleteById(10);
		System.out.println(i);
	}
}

2.

自己實現

接口方法

@Mapper

public interface GoodsDao {
	/**
	 * 基于商品id刪除商品
	 * @param id 商品id
	 * @return 刪除行數
	 * 數據層方法對象的sql映射
	 */

     @Delete("delete from tb_goods where id=#{id}")

     int deleteById(Integer id);

}
@Component
public class GoodsDaoImpl {

	@Autowired
	private SqlSession sqlSession;
	 
	public int deleteById(Integer id) {
		return sqlSession.delete("com.cy.demo.goods.dao.GoodsDao.deleteById", id);
		//sqlSession.delete("com.cy.demo.goods.dao.deleteById",id)
	}
}

Spring boot整合mybatis的方法

@SpringBootTest
public class GoodsDaoImpTest {

	@Autowired
	private GoodsDaoImpl gdi;
	@Test
	void testdelete() {
		int i = gdi.deleteById(9);
		
		System.out.println(i);
	}	
}

直接導mapper文件找對應的元素

3.

當sql語句比較復雜時使用映射文件

接口:

 /**
      *GoodsDao.java
     * ids可以接受多個參數
      * 在mapper文件中直接使用array來接受,
     * @param ids
     * @return
     */
     int deleteObject(/*@Param("ids")*/Integer...ids);
      //當mybatis過低時需要加上@Param("ids")才能識別

不加@Param("ids")報錯

Spring boot整合mybatis的方法
Spring boot整合mybatis的方法

使用xml映射

獲取xml頭文件(去官網)

Spring boot整合mybatis的方法

<&#63;xml version="1.0" encoding="UTF-8"&#63;>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cy.demo.goods.dao.GoodsDao">
	<delete id="deleteObject">
		delete from tb_goods
		<where>
			
			<if test="ids!=null and ids.length>0">
			id in
				<foreach collection="ids" open="(" close=")" separator=","
					item="i">
					#{i}
				</foreach>
			</if>
			or 1=2
		</where>

	</delete>
</mapper>

配置:

Spring boot整合mybatis的方法

測試:

	@Autowired
	private GoodsDao gd;
	
	@Test
	void deleteObject() {
		int rows=gd.deleteObject(1,2,3);
		System.out.println(row);
	}

當我們在執行此方法時,其實現類內部會檢測接口方法上是否有定義sql映射

假如沒有,然后基于接口類全名找到對應的映射文件(mapper映射文件的id),然后在基于方法名

再找到對應映射文件的元素,進而獲取sql映射

錯誤解決:

Spring boot整合mybatis的方法
Spring boot整合mybatis的方法

binding異常還有可能時參數異常,還有可能是配置文件有問題

Spring boot整合mybatis的方法

感謝各位的閱讀!看完上述內容,你們對Spring boot整合mybatis的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济阳县| 页游| 乳山市| 阳高县| 泰兴市| 财经| 罗山县| 高唐县| 海原县| 新化县| 松桃| 桦川县| 家居| 庆城县| 喀什市| 漯河市| 盐源县| 睢宁县| 峡江县| 绵竹市| 施秉县| 论坛| 马关县| 佛冈县| 井研县| 彭州市| 泸溪县| 义乌市| 娱乐| 芒康县| 兰考县| 同江市| 台湾省| 监利县| 分宜县| 泾源县| 大安市| 岢岚县| 内黄县| 合水县| 乡宁县|