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

相关推荐
张较瘦_1 天前
SpringBoot3 | MyBatis-Plus 搞定宠物管理:从0到1实现增删改查
mybatis·宠物
2501_933513041 天前
Oracle统计分析某个SQL的执行频率
数据库·sql·oracle
我科绝伦(Huanhuan Zhou)1 天前
DM数据库物理存储结构深度解析与理论实践
数据库·oracle
沙白猿1 天前
Redis报错:A bean with that name has already been defined in class path resource
spring boot·redis·mybatis
Vicky-Min1 天前
NetSuite Credit Memo导入的基础CSV模板
oracle·erp
oMcLin1 天前
如何在 Oracle Linux 8.3 上通过配置 LVM 与 RAID 结合,提升存储系统的性能与数据冗余性
linux·数据库·oracle
xj7573065331 天前
《精通Django》 第4章 Django模型
数据库·oracle·django
小马爱打代码1 天前
MyBatis设计模式:构建者、工厂、代理模式
设计模式·mybatis·代理模式
DarkAthena1 天前
【ORACLE】分区表数据倾斜会发生什么
数据库·oracle