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

相关推荐
oradh5 分钟前
数据库入门概述
数据库·oracle·数据库基础·数据库入门
The Sheep 20231 小时前
C# 操作XML
xml·前端·c#
不吃香菜学java1 小时前
苍穹外卖-新增套餐
java·spring boot·spring·tomcat·maven·mybatis
有梦想的小何2 小时前
告别 N+1:MyBatis-Plus 批量同步优化套路(预加载、去重、批量落库)
mybatis
sxhcwgcy2 小时前
Spring Boot中集成MyBatis操作数据库详细教程
数据库·spring boot·mybatis
yuweiade2 小时前
Spring Boot 整合 MyBatis 与 PostgreSQL 实战指南
spring boot·postgresql·mybatis
弹简特3 小时前
【JavaEE】MybatisPlus速成
java·数据库·java-ee·mybatis
数据库人生3 小时前
Oracle 根据等待事件 enq: TX - index contention 查找对象
oracle·current_obj#·row_wait_obj#
xcLeigh3 小时前
Oracle 迁移深度复盘:多数据库选型决策全解析
大数据·数据库·sql·oracle·数据迁移·数据管理