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

相关推荐
DBA小马哥2 小时前
Oracle迁移实战:如何轻松跨越异构数据库的学习与技术壁垒
数据库·学习·oracle·信创·国产化平替
Billow_lamb7 小时前
MyBatis-Plus 的 条件构造器详解(超详细版)
java·mybatis
Luna-player8 小时前
在javaweb项目中,在表中的数据中什么是一对一,一对多,多对多
数据库·oracle
A Mr Yang9 小时前
JAVA 对比老、新两个列表,找出新增、修改、删除的数据
java·开发语言·spring boot·后端·spring cloud·mybatis
我科绝伦(Huanhuan Zhou)12 小时前
Oracle数据库内存管理实操指南:PGA与SGA优化实战
数据库·oracle
雪球不会消失了13 小时前
MySQL(开发篇)
数据库·mysql·oracle
xuanloyer14 小时前
oracle从入门到精通--启动与关闭数据库实例
数据库·oracle
好学且牛逼的马15 小时前
【手写Mybatis | version0.0.3 附带源码 项目文档】
开发语言·php·mybatis
我命由我1234515 小时前
Java 开发使用 MyBatis PostgreSQL 问题:使用了特殊字符而没有正确转义
java·开发语言·数据库·postgresql·java-ee·mybatis·学习方法
雷神乐乐16 小时前
Oracle数据泵导入导出数据
数据库·oracle