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片段抽取

Mybatis的多对多映射

mybatis中的多表查询

php中的多条件查询

php中的多条件查询

mybatis-plus分页查询