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

来源:互联网 发布:淘宝的君羊令页 编辑:程序博客网 时间:2024/04/30 18:32

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

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

0 0
原创粉丝点击