Java自学之mybatis:模糊查询和多条件查询
学习目的
使用mybatis进行模糊查询:查找category_表中包含cat的记录。
使用mybatis进行多条件查询:查找category_表中id>1,包含cat的记录。
Part 1
模糊查询
修改pojo.xml,新增一个查询配置。
parameterType:传参的类型。
resultType:查询结果的类型。
注意:concat('%',#{0},'%')是MySQL的写法,oracle的写法是 '%'||#{0}||'%'。
<select id="listCategoryByName" parameterType="string" resultType="Category">
select * from category_ where name like concat('%',#{0},'%')
</select>
测试代码块
/**
* 模糊查找:%cat%
* @param session
*/
public static void listCategoryByName(SqlSession session){
List<Category> categoryList = session.selectList("listCategoryByName","cat");
for (Category c :
categoryList) {
System.out.println(c.getName());
}
}
测试结果:
Part 2
多条件查询
修改pojo.xml,新增一个查询配置。
<select id="listCategoryByIdAndName" parameterType="map" resultType="Category">
select * from category_ where id > #{id} and name like concat('%',#{name},'%')
</select>
测试代码块:
/**
* 多条件查询
* @param session
*/
public static void listCategoryByIdAndName(SqlSession session){
Map map = new HashMap();
map.put("id",1);
map.put("name","cat");
List<Category> categoryList = session.selectList("listCategoryByIdAndName",map);
for (Category c :
categoryList) {
System.out.println(c.getId()+"\t"+c.getName());
}
}
测试结果
参考文档:
mybatis - MyBatis 3
浙公网安备 33010602011771号