久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Mybatis動態SQL foreach標簽用法實例

瀏覽:57日期:2023-10-22 07:55:01

需求:傳入多個 id 查詢用戶信息,用下邊兩個 sql 實現:

SELECT * FROM USERS WHERE username LIKE ’%張%’ AND (id =10 OR id =89 OR id=16)

SELECT * FROM USERS WHERE username LIKE ’%張%’ AND id IN (10,89,16)

這樣我們在進行范圍查詢時,就要將一個集合中的值,作為參數動態添加進來。

這樣我們將如何進行參數的傳遞?

1、實體類

public class QueryVo implements Serializable { private List<Integer> ids; public List<Integer> getIds() {return ids; } public void setIds(List<Integer> ids) {this.ids = ids; } }

2、持久層接口

/*** 根據 id 集合查詢用戶* @param vo* @return*/List<User> findInIds(QueryVo vo);

3、映射文件

<!-- 查詢所有用戶在 id 的集合之中 --><select resultType='user' parameterType='queryvo'> <!-- select * from user where id in (1,2,3,4,5); -->select * from user <where> <if test='ids != null and ids.size() > 0'> <foreach collection='ids' open='id in ( ' close=')' item='uid' separator=','>#{uid} </foreach></if> </where></select>

SQL 語句:

select 字段 from user where id in (?)

foreach標簽用于遍歷集合,它的屬性

collection:代表要遍歷的集合元素,注意編寫時不要寫#{} open:代表語句的開始部分 close:代表結束部分 item:代表遍歷集合的每個元素,生成的變量名 sperator:代表分隔符

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 淮滨县| 镇平县| 盐山县| 榆林市| 高青县| 江安县| 嘉祥县| 利津县| 凤山市| 西峡县| 神池县| 宾阳县| 张家港市| 江口县| 黎川县| 元阳县| 昌乐县| 蒲江县| 万荣县| 大丰市| 沭阳县| 西丰县| 广东省| 宾阳县| 淮阳县| 博白县| 惠州市| 湘阴县| 师宗县| 亚东县| 武宣县| 霍林郭勒市| 石家庄市| 桦甸市| 芷江| 恩施市| 榆树市| 衡阳县| 文安县| 平江县| 宜川县|