qq_36918049
nimoqq
2017-10-11 02:24
采纳率: 60.7%
浏览 3.2k

mybatis 对于特殊字符问题处理

  <select id="getVagueQuery" parameterType="java.lang.String" resultType="com.kangwei.pojo.tz.T_SB_SCFZSS_SD">
        SELECT
            OBJ_ID,
            JMLX,
            DMCC,
            SDCD,
            JSL,
            SGDW,
            JGRQ,
            YWDWMC,
            WHBZMC,
            SDMC,
            SDBH,
            WHBZ,
            ZCXZ,
            DAMC
        FROM SCYW.T_SB_SCFZSS_SD
        WHERE SCYW.T_SB_SCFZSS_SD.SDBH LIKE concat(concat('%', #{value}), '%') OR SCYW.T_SB_SCFZSS_SD.SDMC LIKE concat(concat('%', #{value }), '%')
    </select>

图片说明

输入%,传进去的也是一个%,但是查询出来了所有数据,网上查的对传入的百分号加上[]就可以了,试了一下确实可以.我是在java代码里判段的,感觉我这个方法还是不好,如果遇到其他特殊字符还是不行,下面是我代码,大神们还有其他方法吗

  if(newContent.equals("%")){
            String newContent1 = "[%]";
            System.out.println(newContent1);
            return sdService.getVagueQuery(newContent1, page, limit);
        }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • devmiao
    devmiao 2017-10-11 03:00
    点赞 评论
  • sinat_38913556
    sinat_38913556 2017-10-11 03:18

    编写一个方法 用来把前台穿过来的参数的特殊字符 替换成 想要的格式

    点赞 评论

相关推荐