我是在使用eclipse 用mybatis 利用sql语句,向mysql数据库添加数据前,做了判断空的处理。
<insert id="save">
INSERT INTO rusers
<trim prefix="(" suffix=")" suffixOverrides=",">
uuid,
<if test="name != null and name !=''">
name,
</if>
<if test="password != null and password !=''">
password
</if>
</trim>
<trim prefix=" values (" suffix=")" suffixOverrides=",">
#{uuid,javaType=STRING,jdbcType=VARCHAR},
<if test="name != null and name !=''">
#{name,javaType=STRING,jdbcType=VARCHAR},
</if>
<if test="password != null and password !=''">
#{password,javaType=int,jdbcType=VARCHAR}
</if>
</trim>
</insert>
下面是报错的内容
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Fri Apr 17 16:18:49 CST 2020
There was an unexpected error (type=Internal Server Error, status=500).
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: 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 ' uuid, name, passwor' at line 2 ### The error may exist in file [D:\eclipseWorkPlace\eclipse-workplace\demo\target\classes\mapper\UserMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: INSERT INTO rusers ( uuid, name, password ) values ( ?, ?, ? ) ### Cause: java.sql.SQLSyntaxErrorException: 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 ' uuid, name, passwor' at line 2 ; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: 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 ' uuid, name, passwor' at line 2