[实战经验]Mybatis的mapper.xml参数#{para}与#{para, jdbcType=BIGINT}有什么区别?

在MyBatis框架中,传入参数使用#{para}和#{para, jdbcType=BIGINT}的有什么区别呢?

  • #{para}:这种写法表示使用MyBatis自动推断参数类型,并根据参数的Java类型自动匹配数据库对应的类型。例如,如果参数para的Java类型是Long,MyBatis会将其映射为数据库的BIGINT类型。
  • #{para, jdbcType=BIGINT}:这种写法明确指定了参数的JDBC类型为BIGINT,不依赖于MyBatis的自动推断。这样可以确保参数类型与数据库类型的匹配性,避免类型转换问题。

总体来说,推荐使用#{para},因为MyBatis有很好的类型推断能力,可以根据Java类型自动匹配数据库类型,简化了SQL语句的编写。但在某些特殊情况下,比如需要明确指定参数类型或者遇到类型转换问题时,可以使用#{para, jdbcType=...}进行类型的显式指定。

好的,以上就是这次关于mapper.xml参数写法的分享,如果你觉得对你有帮助,同学能动动小手指,帮我点个赞。

相关推荐
jnrjian6 小时前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
TTc_8 小时前
oracle中的union和union all有什么区别?
数据库·oracle
山峰哥9 小时前
吃透 SQL 优化:告别慢查询,解锁数据库高性能
服务器·数据库·sql·oracle·性能优化·编辑器
前网易架构师-高司机10 小时前
带标注的驾驶员安全带识别数据集,识别率99.5%,可识别有无系安全带,支持yolo,coco json,pascal voc xml格式
xml·yolo·数据集·交通·安全带
莫寒清11 小时前
Mybatis的插件原理
面试·mybatis
南 阳12 小时前
Python从入门到精通day37
数据库·python·oracle
逍遥德12 小时前
Maven教程.01- settings.xml 文件<profile>使用详解
xml·java·maven
轩情吖13 小时前
MySQL库的操作
android·数据库·mysql·oracle·字符集·数据库操作·编码集
莫寒清14 小时前
MyBatis 中动态 SQL 的作用
面试·mybatis
脱发的老袁15 小时前
【数据库】Oracle手动清理归档日志
数据库·oracle