[实战经验]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 小时前
P11 | 收藏与行程:用户行为类接口的设计模式
数据库·设计模式·oracle
不恋水的雨1 小时前
mybatis-plus保存数据实现公共字段自动填充
mybatis
MegaDataFlowers1 小时前
基于EasyCode插件的SpringBoot和Mybatis框架快速整合以及PostMan的使用
spring boot·mybatis·postman
阿坤带你走近大数据2 小时前
OracleSQL优化案例-2
大数据·oracle·sql优化
aq55356003 小时前
ThinkPHP5.x核心特性全解析
android·数据库·oracle·php·laravel
oradh3 小时前
Oracle数据库索引概述
数据库·oracle·oracle基础·oracle入门基础·oracle索引·索引概述·索引基础
杨云龙UP3 小时前
ODA-Oracle实践记录:通过Navicat导出导入表CSV文件并清理重复数据,处理OA待办延迟刷新问题_20260416
linux·运维·服务器·数据库·sql·mysql·oracle
数厘3 小时前
2.20 sql基础聚合函数(COUNT、SUM、AVG、MAX、MIN)
数据库·sql·oracle
qingwufeiyang_5304 小时前
Mybatis-plus学习笔记1
笔记·学习·mybatis
山峰哥7 小时前
SQL查询优化实战:从Explain分析到索引策略的深度解析
数据库·oracle