91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

武清区| 蕲春县| 会东县| 将乐县| 崇礼县| 武清区| 衡东县| 平乡县| 闻喜县| 舒兰市| 嘉善县| 满城县| 吉隆县| 浮山县| 卓资县| 胶南市| 班玛县| 左权县| 克山县| 五河县| 延寿县| 绩溪县| 肥东县| 香河县| 秦皇岛市| 甘南县| 灯塔市| 黑河市| 闻喜县| 阳曲县| 加查县| 乐安县| 呼伦贝尔市| 浮山县| 宁津县| 汉中市| 莒南县| 乐山市| 昔阳县| 东明县| 朔州市|