SpringMVC中的SQL动态查询

本文探讨了在SpringMVC项目中如何实现SQL动态查询,关注点在于处理前端传来的空值情况,即使值为空格也不视为null。同时,文章提及了List在查询条件为空时不为null的处理。通过JSP页面与Mapper配置的配合,实现了根据用户选择条件进行灵活的查询操作。
摘要由CSDN通过智能技术生成

        在现在写的项目中用到了动态查询,就是给出数个查询条件,在其中选择自己需要的查询条件,如果不需要则不填,根据选择的条件实现查询语句

        前台页面不再赘述,无非是表单,不过顺便一提,表单为空时不代表该值为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>

         以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值