开发者

MyBatis中的多字段IN查询方式

目录
  • MyBATis多字段IN查询
    • 目标SQL
    • Mapper接口定义
    • 调用持久化层
    • MyBatis XML
  • 总结

    MyBatis多字段IN查询

    目标SQL

    select * from demo t where (t.id, t.name) in (('1001', '张三'), ('1002', '李四'));
    

    Mapper接口定义

    //mappwww.devze.comer接口定义
    List<Map<String, Object>> getResult(@http://www.devze.comParam("list") List<Map<String, Stwww.devze.comring>> list);
    

    调用持久化层

    //组装数据
    List<Map<String, String>> list = Lists.newArrayList();
    Map<String, String> map1 = Maps.newHashMap();
    map1.put("id", "1001");
    map1.put("name", "张三");
    list.add(map1);
    Map<String, Strijsng> map2 = Maps.newHashMap();
    map2.put("id", "1002");
    map2.put("name", "李四");
    list.add(map2);
    
    //调用dao层
    List<Map<String, Object>> result = mapper.getResult(list);
    

    MyBatis XML

    <select id="getResult" resultType="Java.util.HashMap">
    	select * from demo t where (t.id, t.name) in
    	<foreach collection="list" item="item" open="(" close=")" separXieBjJqpator=",">
    		(#{item.id},#{item.name})
    	</foreach>
    </select>
    

    总结

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

    0

    上一篇:

    下一篇:

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    最新开发

    开发排行榜