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

相关推荐
Tatakai251 分钟前
Mybatis Plus分页查询返回total为0问题
java·spring·bug·mybatis
Flying_Fish_roe30 分钟前
linux-安全管理-防火墙与网络安全
linux·数据库·oracle
A_cot42 分钟前
Redis 的三个并发问题及解决方案(面试题)
java·开发语言·数据库·redis·mybatis
Kika写代码1 小时前
【基于轻量型架构的WEB开发】【章节作业】
前端·oracle·架构
晚睡早起₍˄·͈༝·͈˄*₎◞ ̑̑2 小时前
苍穹外卖学习笔记(七)
java·windows·笔记·学习·mybatis
二十雨辰4 小时前
[苍穹外卖]-12Apache POI入门与实战
java·spring boot·mybatis
Amagi.6 小时前
Redis的内存淘汰策略
数据库·redis·mybatis
&木头人&7 小时前
oracle select字段有子查询会每次执行子查询吗
数据库·oracle
冰镇毛衣7 小时前
数据库简介
开发语言·数据库·sql·oracle
(⊙o⊙)~哦7 小时前
oracle查询历史操作记录
数据库·oracle