3中Mybatis批量查询方式

1、如果是一个参数的时:

 

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

TestDAO.getItermByList(list);
//DAO的接口:
//public List<HashMap<String,String>> getItermByList(List<Integer> list)

xml中的sql:
<select id="getItermByList" resultType="java.util.HashMap">
		SELECT id,display_name as name from t_recommendation_info where id in
		<foreach item="item" index="index" collection="list"
				 open="(" separator="," close=")">
			#{item}
		</foreach>
	</select>

2、如果是一个map多个参数的时候:

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
HashMap<String,Object> parames = new HashMap<String,Object>();

parames.put("mapList",list);
TestDAO.getItermByList(parames);
//DAO接口:
//public List<HashMap<String,String>> getItermByList(HashMap<String,Object> parames);

xml中的sql:
<select id="getItermByList" resultType="java.util.HashMap">
		SELECT id,display_name as name from t_recommendation_info where id in
		<foreach item="item" index="index" collection="mapList"
				 open="(" separator="," close=")">
			#{item}
		</foreach>
	</select>

注意collection给的值

3、如果是一个对象:

List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);

//TestModel  的实现
public class TestModel {

    private List<Integer> searchList;

    public List<Integer> getSearchList() {
        return searchList;
    }

    public void setSearchList(List<Integer> searchList) {
        this.searchList = searchList;
    }
}

TestModel tm = new TestModel();
tm.setSearchList(list);
TestDAO.getItermByList(tm)

//DAO接口:
//public List<HashMap<String,String>> getItermByList(TestModel parames);
//XML中的sql:
<select id="getItermByList" resultType="java.util.HashMap">
		SELECT id,display_name as name from t_recommendation_info where id in
		<foreach item="item" index="index" collection="searchList"
				 open="(" separator="," close=")">
			#{item}
		</foreach>
	</select>

注意collection中的参数和对象的变量是一样的。

转载于:https://my.oschina.net/u/580135/blog/612187

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值