首页 > 数据库技术 > 详细

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

时间:2014-09-29 16:01:02      阅读:457      评论:0      收藏:0      [点我收藏+]

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

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与模糊查询

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!