ssm框架动态查询和模糊查询
程序员文章站
2022-03-27 10:08:52
...
一、动态查询
1)一张表的动态查询
<select id="queryMore" resultMap="pw.Blog">
SELECT *
FROM `t_blog`
<where>
<if test="bname != null">
AND `b_name` LIKE concat('%',#{bname},'%')
</if>
<if test="blable != null">
AND `b_lable`LIKE concat('%', #{blable},'%')
</if>
<if test="uname != null">
AND `u_name` = #{uname}
</if>
</where>
</select>
SELECT *
FROM `t_blog`
<where>
<if test="bname != null">
AND `b_name` LIKE concat('%',#{bname},'%')
</if>
<if test="blable != null">
AND `b_lable`LIKE concat('%', #{blable},'%')
</if>
<if test="uname != null">
AND `u_name` = #{uname}
</if>
</where>
</select>
mapper的sql语句(这是一张表的动态查询sql示例),我们需要注意的是if标签中的 test 里面的那个null和后台Java代码中的“”是不一样的,因此我们要判断转化一下
/**
* 动态查询
* @param bname
* @param blable
* @param uname
* @return
* @throws Exception
*/
public List<Blog> queryMore(@Param("bname") String bname,@Param("blable") String blable,@Param("uname") String uname)throws Exception;
* 动态查询
* @param bname
* @param blable
* @param uname
* @return
* @throws Exception
*/
public List<Blog> queryMore(@Param("bname") String bname,@Param("blable") String blable,@Param("uname") String uname)throws Exception;
对应的mapper代码,注意一定要是List<> 因为我们查询得到的对象是一组,要储存在List<>数组中
2)多张表的动态查询
二、模糊查询
1)
`b_name` LIKE concat('%',#{bname},'%')
2)
`b_name` LIKE `%${bname}%`
上一篇: Mnist数据集转存csv文件,csv文件图像可视化
下一篇: 关于IDEA配置文件字符集的问题
推荐阅读
-
PHP MYSQL实现登陆和模糊查询两大功能
-
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
-
Django框架中数据的连锁查询和限制返回数据的方法
-
利用Django框架中select_related和prefetch_related函数对数据库查询优化
-
SSM框架快速整合实例——学生查询
-
简介iOS开发中应用SQLite的模糊查询和常用函数
-
SQL Server数据库————模糊查询和聚合函数
-
老生常谈combobox和combotree模糊查询
-
MongoDB模糊查询操作案例详解(类关系型数据库的 like 和 not like)
-
MyBatis入门(二)—— 输入映射和输出映射、动态sql、关联查询