mybatis中的多条件查询
Posted 努力奋斗吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis中的多条件查询相关的知识,希望对你有一定的参考价值。
使用Map集合和索引号
接口:
/**
* 多条件查询Map集合
* @param map
* @return
*/
public List<Student> findByManyCondition(Map<String,Object> map);
/**
* 多参数查询使用索引
* @param name
* @param age
* @return
*/
public List<Student> findStudentByCondition(String name,int age);
xml文件(小配置)
<!--多条件查询Map集合-->
<select id="findByManyCondition" resultType="student">
SELECT *from Student WHERE name LIKE ‘%‘ #{name } ‘%‘ AND age>#{age}
</select>
<!--多参数查询使用索引-->
<select id="findStudentByCondition" resultType="student">
SELECT *from Student WHERE name LIKE ‘%‘ #{0} ‘%‘ AND age>#{1}
</select>
测试类
/**
* 多条件查询Map集合
*/
@Test
public void findByManyCondition(){
SqlSession session = MyBatisUtil.getSession();
IStudentDAO mapper = session.getMapper(IStudentDAO.class);
Map<String,Object> map=new HashMap<String,Object>();
map.put("name","张");
map.put("age",20);
List<Student> list = mapper.findByManyCondition(map);
for (Student item:list){
System.out.println(item.getName());
}
session.commit();
session.close();
}
/**
* 多条件查询使用索引号
*/
@Test
public void findStudentByCondition(){
SqlSession session = MyBatisUtil.getSession();
IStudentDAO mapper = session.getMapper(IStudentDAO.class);
List<Student> list = mapper.findStudentByCondition("张", 20);
for (Student item:list){
System.out.println(item.getName());
}
session.commit();
session.close();
}
以上是关于mybatis中的多条件查询的主要内容,如果未能解决你的问题,请参考以下文章
Mybatis -- 动态Sql概述动态Sql之<if>(包含<where>)动态Sql之<foreach>sql片段抽取