在现在写的项目中用到了动态查询,就是给出数个查询条件,在其中选择自己需要的查询条件,如果不需要则不填,根据选择的条件实现查询语句
前台页面不再赘述,无非是表单,不过顺便一提,表单为空时不代表该值为null,详情可见之前博文
JSP页面传值为空格而不为null以及List为空不为null
之后配置相应Mapper,只要对照相应参数便可,以下是对应Mapper.xml
<select id="queryByConditions" resultMap="pw.News">
SELECT `id`,`title`,`author`,`type`,`time`
FROM `t_news`
<where>
id != 0
<if test="title != null">
AND `title`
LIKE concat('%',#{title},'%')
</if>
<if test="content != null">
AND `content`
LIKE concat('%',#{content},'%')
</if>
<if test="author != null">
AND `author`
LIKE concat('%',#{author},'%')
</if>
<if test="type != null">
AND `type` = #{type}
</if>
</where>
ORDER BY `time` DESC
</select>
以上
本文探讨了在SpringMVC项目中如何实现SQL动态查询,关注点在于处理前端传来的空值情况,即使值为空格也不视为null。同时,文章提及了List在查询条件为空时不为null的处理。通过JSP页面与Mapper配置的配合,实现了根据用户选择条件进行灵活的查询操作。
171

被折叠的 条评论
为什么被折叠?



