页面提交的内容中带有英文单引号,传到后台sql中,sql语句报错有关问题,有遇到的吗?求解决方法
页面提交的内容中带有英文单引号,传到后台sql中,sql语句报错问题,有遇到的吗?求解决办法
使用的是ssi框架,mybatis这里接收的前台传过来的对象,例如 Comment对象中的 content属性的值中有英文状态下的单引号,那么解析到sql语句中的时候sql语句就会报错,不要说什么替换的的问题那个工作量太大,我总不能每个字段接收过来都去调用一下替换的方法吧,有没有什么比较好的解决办法,这应该是会经常遇到的问题,求大神~~~~
------解决方案--------------------
配置文件里用<![CDATA[ ]]>包裹你的sql语句
------解决方案--------------------
str.replace("'", "''").
------解决方案--------------------
传入的时候你要用'吧。
------解决方案--------------------
我用的是springmvc+mybatis, 从没出现过你的问题. 各种中英文下的所有单双引都没问题的.
你发下你出问题的那个mapper配置文件看下.
------解决方案--------------------
先确认,你这个 ‘ 是你传的必须值么,还是说是不需要的,被传进来了。
如果是必须值,那你考虑ibatis配置的问题
如果不是,而是传输过程中产生的,那你就要考虑 页面提交的时候,传到后台是不是参数传递的时候输错了
------解决方案--------------------
楼主把错误代码填出来大家看看 学习一下。以后遇到也好处理
------解决方案--------------------
你试试改下你tomcat的默认编码格式
------解决方案--------------------
貌似 $ 在mybatis中不友好, 官方强烈推荐用 #{ }
------解决方案--------------------
'aa'bb'
你这拼的有问题吧,中间怎么多了一个
------解决方案--------------------
select * from user where name like concat('%', #{username, jdbcType=VARCHAR),'%')
使用的是ssi框架,mybatis这里接收的前台传过来的对象,例如 Comment对象中的 content属性的值中有英文状态下的单引号,那么解析到sql语句中的时候sql语句就会报错,不要说什么替换的的问题那个工作量太大,我总不能每个字段接收过来都去调用一下替换的方法吧,有没有什么比较好的解决办法,这应该是会经常遇到的问题,求大神~~~~
------解决方案--------------------
配置文件里用<![CDATA[ ]]>包裹你的sql语句
------解决方案--------------------
str.replace("'", "''").
------解决方案--------------------
传入的时候你要用'吧。
------解决方案--------------------
我用的是springmvc+mybatis, 从没出现过你的问题. 各种中英文下的所有单双引都没问题的.
你发下你出问题的那个mapper配置文件看下.
------解决方案--------------------
先确认,你这个 ‘ 是你传的必须值么,还是说是不需要的,被传进来了。
如果是必须值,那你考虑ibatis配置的问题
如果不是,而是传输过程中产生的,那你就要考虑 页面提交的时候,传到后台是不是参数传递的时候输错了
------解决方案--------------------
楼主把错误代码填出来大家看看 学习一下。以后遇到也好处理
------解决方案--------------------
你试试改下你tomcat的默认编码格式
------解决方案--------------------
貌似 $ 在mybatis中不友好, 官方强烈推荐用 #{ }
------解决方案--------------------
'aa'bb'
你这拼的有问题吧,中间怎么多了一个
------解决方案--------------------
select * from user where name like concat('%', #{username, jdbcType=VARCHAR),'%')