我是个老六 2022-12-01 14:51 采纳率: 58.9%
浏览 43
已结题

为什么有时候mybatis的sql插入需要写上 #{a,jdbctype = varchar}

为什么有时候mybatis的sql插入需要写上 #{a,jdbctype = varchar}

有时候又不需要呢

  • 写回答

1条回答 默认 最新

  • 道爷我成啦 2022-12-01 15:34
    关注

    首先明确一点jdbcType是用来指定字段类型的。一般情况下,在执行SQL时MyBatis会自动通过对象中的属性给SQL中参数赋值,它会自动将Java类型转换成数据库的类型。但是在插入时,如果插入的值是null的话,MyBatis无法识别这个null的类型,就可能会导致类型转化错误。为了解决这个可能会出现的错误,就要针对这些可能为null的字段,指定它们转换时的类型,即指定相应的jdbcType类型。如果你确定一些字段不会为null的话,自然也就不需要指定jdbcType类型。
    希望对您有所帮助,如果觉得还行的话,麻烦采纳一下哈

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 创建了问题 12月1日