码迷,mamicode.com
首页 > 数据库 > 详细

Mybatis学习笔记-动态SQL与模糊查询

时间:2014-09-29 16:53:11      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:mybatis

需求:实现多条件查询用户(姓名模糊匹配, 年龄在指定的最小值到最大值之间)

User.java实体类

public class User {
	private int id;
	private String name;
	private int age;
	//...
}


ConditionUser.java

public class ConditionUser {
	private String name;
	private int minAge;
	private int maxAge;
	//...
}
	<!-- 
	实现多条件查询用户(姓名模糊匹配, 年龄在指定的最小值到最大值之间)
	类似jstl表达式
	 -->
	<select id="getUser" parameterType="com.mybatis.test05.ConditionUser" resultType="com.mybatis.test05.User">
		select * from d_user where 
		
		<if test=‘name != "%null%"‘>
			 name like #{name} and 
		</if>
		
		age between #{minAge} and #{maxAge}
	</select>

测试

SqlSessionFactory factory = MybatisUtil.getFactory();
SqlSession session = factory.openSession();
String statement = "com.mybatis.test05.userMapper.getUser";
String name = "o";
name = null;
ConditionUser parameter = new ConditionUser("%"+name+"%", 13, 18);
List<User> list = session.selectList(statement, parameter);
System.out.println(list);
session.close();


MyBatis中可用的动态SQL标签

if

choose (when otherwise)

trim (where set)

foreach

本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/1559302

Mybatis学习笔记-动态SQL与模糊查询

标签:mybatis

原文地址:http://shamrock.blog.51cto.com/2079212/1559302

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!