报错详细信息:
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition = '1'
AND content = '010KAAS'AND content_name = '12'
AN' at line 8
在页面进行操作的时候,后台报错,提示我check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition = '1',后经检查SQL语句,并无错误,在SQLyon执行的时候,才发现表中的条件字段设置的名称condition与数据库的关键字冲突
解决办法有两个
1、最复杂的解决办法是修改表中字段,把condition修改为conditions等等不与数据库关键字相同的即可,如果新项目,修改字段倒还可以,要是成熟的项目,不建议修改表中的字段
2、在Mapper.xml中加上·符号,这个符号位于Tab键的上方的那一个键,跟波浪线在同一个位置
这个·号的作用:一个小点,俗称小句号,上句号。通常情况下没有什么使用价值,但是在网络流行后,作为不规范符号使用,用一份个句子,如:你好啊·····我叫XX=你好啊,我叫XX。
Mysql中,用于区分关键字,如: AND `condition` = #{condition,jdbcType=VARCHAR},完整语句如下:
select
<include refid="Base_Column_List" />
from ups_dataparams
where is_delete = 0
AND condition_name = #{conditionName,jdbcType=VARCHAR}
AND `condition` = #{condition,jdbcType=VARCHAR}
AND content = #{content,jdbcType=VARCHAR}
AND content_name = #{contentName,jdbcType=VARCHAR}
AND sys_id = #{sysId,jdbcType=INTEGER}
AND parent_code = #{parentCode,jdbcType=VARCHAR}
如果转载,请用超链接注明出处http://blog.csdn.net/zouxucong/article/details/53783522