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

相关推荐
NaMM CHIN22 分钟前
SQL sever数据导入导出实验
数据库·sql·oracle
TlYf NTLE29 分钟前
Spring Boot3.3.X整合Mybatis-Plus
spring boot·后端·mybatis
研來如此2 小时前
tinyxml2 常用读取接口对照表
xml·c++·tinyxml2
qqacj3 小时前
SpringBoot【十一】mybatis-plus实现多数据源配置,开箱即用!
spring boot·后端·mybatis
希望永不加班3 小时前
SpringBoot 整合 MyBatis 完整实战
java·spring boot·后端·spring·mybatis
小红的布丁4 小时前
Redis 内存淘汰与过期策略
java·spring·mybatis
zuowei28895 小时前
SpringBootInvalid bound statement (not found)的原因和解决方案
mybatis
阿坤带你走近大数据5 小时前
Oracle里的MINUS是什么
数据库·oracle
2601_949814495 小时前
Spring-boot3.4最新版整合swagger和Mybatis-plus
mybatis
郝学胜-神的一滴6 小时前
解锁CS数据存储的核心逻辑:从结构选择到表单设计的全解析
linux·服务器·数据库·c++·后端·oracle