如何在mybatis 中使用In操作


如何在mybatis 中使用In操作

假如我們想使用這樣一個sql 語句,但是這樣的sql語句有IN這樣的操作。在我們的mybatis中有相對應的操作

SELECT
*
FROM
	product_db.productinfo pi
WHERE pi.isvalid = 1
	AND pi.id IN (22, 60)	

下面將使用一個簡單的過程來演示這個操作
下面這個是mybatis的映射文件

<select id="queryAllOpenProduct" parameterType="com.tims.open.domain.OpenProductQueryCondition"
	resultType="com.tims.open.domain.OpenProduct">
	SELECT
		 *
	FROM
		product_db.product p
	WHERE
		p.isvalid = 1
	<if test="list != null">
		<foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
               #{item}       
        </foreach>
    </if>
</select>

下面是我們的查詢condition類
Public OpenProductQueryCondition{
	private Integer productId;  
	
	private List<Integer> list;
}

下面我們對IN操作進行分析

<foreach collection="list" index="index" item="item" separator="," open="AND p.id IN (" close=")">
               #{item}       
 </foreach>

list 就是傳入的condition中的list,mybatis將會遍歷中集合中的元素
index 可以添加也可以不添加
item 你將要遍歷出元素的別名
**open ** 開始的位置
close 什么時候結束


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM