Mybatis使用“<trim prefix="SET" suffixOverrides=",">”出现Cause: java.sql.SQLException:

原创 2016年06月02日 09:35:04

今天在使用Mybatis时出现错误:

### Error updating database.  Cause: java.sql.SQLException: MYSQL: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 'CHECKNOTPASSREASON='驾驶证未满一年以上;其他原因:qwe' 
		where OID' at line 3
### The error may involve com.zte.ums.ztev.database.dao.drivermgt.DriverMgtDao.modifyDriver-Inline
### The error occurred while setting parameters
### SQL: update BUS_DRIVER    SET CHECKTHROUGH=?    CHECKNOTPASSREASON=?    where OID = ?
### Cause: java.sql.SQLException: MYSQL: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 'CHECKNOTPASSREASON='驾驶证未满一年以上;其他原因:qwe' 
		where OID' at line 3

检查发现是因为:

<if test="driverLicenseScan !=null">DRIVERLICENSESCAN=#{driverLicenseScan},</if>
			<if test="address !=null">ADDRESS=#{address},</if>
			<if test="checkThrough !=null">CHECKTHROUGH=#{checkThrough}</if>
			<if test="checkNotPassReason !=null">CHECKNOTPASSREASON=#{checkNotPassReason}</if>
			<if test="userGrade !=null">USERGRADE=#{userGrade}</if>

中“#{checkThrough}”,“#{userGrade}”和“#{checkNotPassReason}”后面缺少逗号“,”

改为:

<if test="driverLicenseScan !=null">DRIVERLICENSESCAN=#{driverLicenseScan},</if>
			<if test="address !=null">ADDRESS=#{address},</if>
			<if test="checkThrough !=null">CHECKTHROUGH=#{checkThrough},</if>
			<if test="checkNotPassReason !=null">CHECKNOTPASSREASON=#{checkNotPassReason},</if>
			<if test="userGrade !=null">USERGRADE=#{userGrade},</if>
就好了!

Mybatis最入门---动态查询(where,trim,set)

[一步是咫尺,一步即天涯] 首先,请大家先回顾一下,我们前文在讲述时说至少有一个where 固定条件,并且在缺失固定条件是SQL的执行结果是0个符合条件的数据。可现实情况是,我们真的有时候无法确定输入...
  • ABCD898989
  • ABCD898989
  • 2016年04月23日 11:39
  • 7284

Mybatis中运用小技巧(四)trim标签的使用

trim元素的主要功能是可以在自己包含的内容钱加上某些前缀,也可以在其后加上某写后缀,与之对应的属性是prefix和suffix;可以把包含内容的首部某些内容覆盖,即忽略,也可以把尾部的某些内容覆盖,...
  • death05
  • death05
  • 2016年11月09日 11:59
  • 9472

mybatis之<trim prefix="" suffix="" suffixOverrides="" prefixOverrides=""></trim>

1. prefix:在trim标签内sql语句加上前缀。 suffix:在trim标签内sql语句加上后缀。 suffixOverrides:指定去除多余的后缀内容,如:suffixOverri...
  • qq_33054511
  • qq_33054511
  • 2017年04月23日 11:07
  • 12249

mybatis insert 空属性用trim suffix="" suffixOverrides=","去多余的“,”

mybatis insert 空属性用trim suffix="" suffixOverrides=","去多余的“,”。                              ...
  • klp098
  • klp098
  • 2016年04月07日 19:35
  • 2948

Mybatis中的trim标签 介绍

使用过trim标签都知道trim标签有四个属性prefix,prefixOverrides,suffix,suffixOverrides 本人一直对这四个标签的名字无法理解,并对其功能感到混乱。下面是...
  • u011118321
  • u011118321
  • 2017年04月01日 16:48
  • 3685

MyBatis动态SQL中trim标签的运用

MyBatis动态SQL中trim标签的使用   My Batis 官方文档 对 动态SQL中使用trim标签的场景及效果介绍比较少。   事实上trim标签有点类似于replace效果。 ...
  • hk9024
  • hk9024
  • 2015年06月25日 17:10
  • 1193

Mybatis动态插入数据(使用trim标签)

Mybatis动态插入数据(使用trim标签) 有时我们控制同一张表,但传入的参数不固定,操作表的字段不固定,就要用到mybatis动态插入。.xml如下: "insertMessage" par...
  • H12KJGJ
  • H12KJGJ
  • 2017年02月12日 19:25
  • 5055

mybatis prefix,prefixOverrides,suffix,suffixOverrides

insert into go_cart_orders                                       order_id,                          ...
  • qq_29923439
  • qq_29923439
  • 2016年12月07日 11:26
  • 4293

mybatise框架sql语句中trim的使用

看到一块代码,第一次见到trim这种标签,于是开始研究了: insert into user ...
  • feixiaohuijava
  • feixiaohuijava
  • 2016年05月17日 09:21
  • 1465

mybatis insert 空属性用trim suffix="" suffixOverrides=","去多余的“,”

                                    ID,                                         NAME,...
  • grhlove123
  • grhlove123
  • 2011年05月21日 15:49
  • 33150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Mybatis使用“<trim prefix="SET" suffixOverrides=",">”出现Cause: java.sql.SQLException:
举报原因:
原因补充:

(最多只允许输入30个字)