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

相关推荐
程序员水自流10 分钟前
MySQL数据库自带系统数据库功能介绍
java·数据库·mysql·oracle
墨痕诉清风1 小时前
java漏洞集合工具(Struts2、Fastjson、Weblogic(xml)、Shiro、Log4j、Jboss、SpringCloud)
xml·java·struts·安全·web安全·spring cloud·log4j
自在极意功。1 小时前
MyBatis配置文件详解:environments、transactionManager与dataSource全面解析
java·数据库·tomcat·mybatis
志凌海纳SmartX2 小时前
银行核心系统备库“降本增效”探索:超融合承载Oracle ADG备库的测试验证
数据库·oracle
木卫二号Coding2 小时前
POSTGRESQL+数据库备份与还原
数据库·postgresql·oracle
张人玉2 小时前
c# Data相关类
数据库·oracle
Lbwnb丶3 小时前
failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
xml
程序边界3 小时前
金仓数据库助力Oracle迁移:一场国产数据库的逆袭之旅
数据库·oracle
为什么不问问神奇的海螺呢丶3 小时前
oracle RAC开关机步骤
数据库·oracle
拾忆,想起3 小时前
设计模式三大分类完全解析:构建高质量软件的基石
xml·微服务·设计模式·性能优化·服务发现