[实战经验]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参数写法的分享,如果你觉得对你有帮助,同学能动动小手指,帮我点个赞。

相关推荐
WannaRunning33 分钟前
浅谈Tomcat数据源连接池
java·oracle·tomcat
嘴对嘴编程2 小时前
oracle数据泵操作
数据库·oracle
w236173460116 小时前
存储型XSS漏洞解析
数据库·oracle·xss·存储型xss
Мартин.17 小时前
[CISSP] [5] 保护资产安全
数据库·安全·oracle
chushiyunen17 小时前
dom操作笔记、xml和document等
xml·java·笔记
whisperrr.17 小时前
【spring01】Spring 管理 Bean-IOC,基于 XML 配置 bean
xml·java·spring
ETLCloud数据集成社区18 小时前
ETLCloud是如何通过Oracle实现CDC的?
数据库·oracle·etl·实时数据同步
KATA~19 小时前
解决MyBatis-Plus枚举映射错误:No enum constant问题
java·数据库·mybatis
Arbori_2621519 小时前
获取oracle表大小
数据库·oracle
SQLplusDB20 小时前
Oracle 23ai Vector Search 系列之3 集成嵌入生成模型(Embedding Model)到数据库示例,以及常见错误
数据库·oracle·embedding