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

为什么有时候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日

悬赏问题

  • ¥20 思科:Router c3600 MN-4E插槽
  • ¥15 16进制修改视频的元数据
  • ¥15 岛津txt格式文件转nirs格式
  • ¥15 石墨烯磁表面等离子体
  • ¥15 angular 项目无法启动
  • ¥15 安装wampserver,图标绿色,但是无法进入软件
  • ¥15 C++ MFC 标准库 加密解密解惑
  • ¥15 两条数据合并成一条数据
  • ¥15 Ubuntu虚拟机设置
  • ¥15 comsol三维模型中磁场为什么没有“速度(洛伦兹项)”这一选项