Mybatis中sql更新可以设置为空值么

<updateid="update"parameterType="org.tarena.netctoss.entity.Account">updateACCOUNTset... <update id="update" parameterType="org.tarena.netctoss.entity.Account">
update ACCOUNT set REAL_NAME=#{real_name},IDCARD_NO=#{idcard_no},
LOGIN_PASSWD=#{login_passwd},TELEPHONE=#{telephone},RECOMMENDER_ID=#{recommender_id},
BIRTHDATE=#{birthdate},EMAIL=#{email},OCCUPATION=#{occupation},GENDER=#{gender},
MAILADDRESS=#{mailaddress},ZIPCODE=#{zipcode},QQ=#{qq} where ID=#{id}
</update>

我直接传了一个对象进去,然后作更新操作,但是对象中有的属性是null的,也就是说我作了set xxx = null这样的操作请问这样的操作是被允许的么?
为什么总是报下面的错误呢?
HTTP Status 500 - Request processing failed; nested exception is org.springframework.jdbc.UncategorizedSQLException: Error setting null for parameter #7 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 无效的列类型: 1111
展开
 我来答
dttsw
推荐于2017-06-28 · TA获得超过1059个赞
知道小有建树答主
回答量:770
采纳率:88%
帮助的人:310万
展开全部
我估计你用的是oracle或其非mysql数据库。错误报出的很明确。java的null类型映射成OTHER了,你明确指定一下jdbctype=NULL就解决了,如是oracle不支持OTHER类型。要么就写个动态sql要好一些。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
晨餐谋说营养
2014-07-24 · TA获得超过186个赞
知道答主
回答量:165
采纳率:0%
帮助的人:30万
展开全部
需要指定 jdbcType #{username,jdbcType=VARCHAR},
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员在思考
2014-08-01 · 知道合伙人互联网行家
程序员在思考
知道合伙人互联网行家
采纳数:347 获赞数:784
毕业于吉林大学计算机科学与技术学院,硕士学位。从事IT互联网工作12年,现任银行产品架构师、高级项目经理

向TA提问 私信TA
展开全部
你需要高速mybatis,你的这个字段在数据库里是什么类型,然后mybatis才能处理你这个null放到数据库里到底是什么样子,在每个变量处指定jdbcType,比如下面这样:
EMAIL=#{email,jdbcType=VARCHAR}

jdbcType有很多种,比如VARCHAR就是可变长字串,NUMBER就是数值型,你可以去网上搜一下
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式