开发中经常会遇到 根据 xxx 字段查询 xxx 字段,如果查询一个就要写一个 mapper就会显得很繁琐。
而在php中,我就可以轻松开愉快的把下面三个字段未知的参数,变成两个变量传进去。
SELECT filed ? WHRER xxx = xxx。
但是,我在使用Mybatis 的时候,就会出现,比如,filed 字段传进去的是一个 String,而最后生成的sql语句也会变成。。 这显然是一个不正确的sql。
SELECT "username" WHRER xxx = xxx。
所以,请问 Java 大佬们,有类似问题的解决办法吗
SELECT filed ? WHRER xxx = #{xxx,jdbcType=VARCHAR}
这样就行了, 用#可以防止SQL注入,如果用#报错可以 改为使用$ 即 ${xxx,jdbcType=VARCHAR}
详细功能可以自己查一下。