Mybatis学习----模糊查询和动态sql
2016-10-26 20:00
399 查看
表结构:
user:id
name
age
需求:查询名字中带有o的和年龄在10,20岁之间的人
重新写一个模糊查询的类 FuzzySearch用来封装查询条件
FuzzySearch.java
中间的<if>标签表示的是检查传进来的name是否为空
调用:
小结:发现一个很坑的地方就是你传给sql语句的name写法必须是 %name% 如果在 #{name}外面加上%%不起作用的,会报错的,很奇怪。
user:id
name
age
需求:查询名字中带有o的和年龄在10,20岁之间的人
重新写一个模糊查询的类 FuzzySearch用来封装查询条件
FuzzySearch.java
package cn.limbo.pojo; /** * Created by limbo on 2016/10/26. */ public class FuzzySearch { private String name; private int maxAge; private int minAge; public FuzzySearch() { } public FuzzySearch(String name, int maxAge, int minAge) { this.name = name; this.maxAge = maxAge; this.minAge = minAge; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getMaxAge() { return maxAge; } public void setMaxAge(int maxAge) { this.maxAge = maxAge; } public int getMinAge() { return minAge; } public void setMinAge(int minAge) { this.minAge = minAge; } }在userMapper.xml中配置
<select id="fuzzyUser" parameterType="FuzzySearch" resultType="User"> SELECT * FROM users WHERE <if test="name != '%null%' "> name LIKE #{name} AND </if> age BETWEEN #{minAge} AND #{maxAge} </select>
中间的<if>标签表示的是检查传进来的name是否为空
调用:
@Test public void testFuzzy(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); String statment = "cn.limbo.pojo.userMapper.fuzzyUser"; String name = null; String nameString = "%"+name+"%"; List<User> users = sqlSession.selectList(statment,new FuzzySearch(nameString,20,10)); System.out.println(users); sqlSession.close(); }
小结:发现一个很坑的地方就是你传给sql语句的name写法必须是 %name% 如果在 #{name}外面加上%%不起作用的,会报错的,很奇怪。
相关文章推荐
- Mybatis学习总结之动态SQL与模糊查询
- Mybatis学习笔记-动态SQL和模糊查询
- myBatis学习笔记(6)——动态SQL & 模糊查询
- 【Mybatis学习总结六】动态SQL与模糊查询
- Mybatis学习总结之动态SQL与模糊查询
- MyBatis入门07--实现sql动态模糊查询
- 六、Mybatis动态SQL和模糊查询
- Mybatis 模糊查询和动态sql语句
- mybatis中怎么使用like形成动态模糊查询,错误使用CONCAT拼接sql的看过来
- 03. mybatis 动态sql && 模糊查询
- MyBatis动态查询 模糊查询实例sql
- 利用mybatis的动态sql 进行批量模糊查询
- MyBatis-动态sql与模糊查询 -07
- mybatis的动态SQL与模糊查询
- MyBatis笔记(九)——动态SQL与模糊查询
- Mybatis之动态SQL 模糊查询
- MyBatis动态sql中模糊查询
- MyBatis的动态SQL的模糊查询
- MyBatis笔记07 - 动态SQL与模糊查询
- Mybatis动态SQL与模糊查询