转载

Mybatis学习笔记 3:Mybatis 多种条件查询

模糊查询使用like,在配置文件中新建一个 select 标签,根据Sql语法规则构建好查询语句。

<select id="likeSearch" parameterType="String" resultType="User">
		select * from user where user_name like concat('%',#{0},'%')
</select>
复制代码

在这里要注意,要查询的子串和正则表达式之间的连接要使用concat函数连接,否则会报错。

测试代码:

List<User> lu = session.selectList("likeSearch", "d");
for (User u : lu) {
    System.out.println(u.getUser_name());
    System.out.println(u.getUser_id());
    System.out.println(u.getUser_phone());
    System.out.println("------------------------");
}
复制代码

运行结果:

Mybatis学习笔记 3:Mybatis 多种条件查询

二、多条件查询

多条件查询就是构建查询语句时跟上一个and就可以了

<select id="multiSearch" parameterType="User" resultType="User">
		select * from user where user_name like concat('%', #{user_name}, '%') and user_id like concat('%', #{user_id}, '%')
	</select>
复制代码

在这里传递参数给Mybatis时参数类型可以写User类型,或者使用map类型

测试代码:

User u2 = new User();
u2.setUser_name("v");
u2.setUser_id("1");
List<User> lu = session.selectList("multiSearch", u2);

for (User u : lu) {
    System.out.println(u.getUser_name());
    System.out.println(u.getUser_id());
    System.out.println(u.getUser_phone());
    System.out.println("------------------------")
}
复制代码

运行结果:

Mybatis学习笔记 3:Mybatis 多种条件查询
原文  https://juejin.im/post/5c6565b2f265da2de33f0d51
正文到此结束
Loading...