首页 > 作文

SpringBoot使用MyBatis时的几种传参规范示例

更新时间:2023-04-05 02:18:14 阅读: 评论:0

使用mybatis作为持久层框架时,对于数据库的增删改查等操作都需要参数的传递,这里学习记录一下mybatis中可用的参数传递方式。

1. 单个简单参数传递

使用 mybatis 传递单个参数时比较简单,形式如#{a},#{b},#{param1}等都可以在 mybatis 中获取到唯一参数,但是参数名尽量和入参名一致,这样更符合开发规范。

mapper 文件定义

xml 文件定义

单个参数时,标签中可不定义参数类型

2. 匿名参数顺序传递

匿名参数传递时使用的是 mybatis 中索引传递的方式,对于传递的多个参数,在sql语句标签中使用#{param1}#{para致青春什么时候上映m2}等索引依次代表传入的参数值。

mapper 文件

使用匿名参数传递时,接口中定义的方法参数无需使用注解

xml 文件

xml中有趣的历史小故事读取参数时可以使用使用arg0, arg1, param1, param2等形式参数有多个类型且匿名,因此不需要指定入参类型mapper中没有使用注解,因此直接使用参数名时会报错参数名找不到匿名参数传递方法可读性差,对后期维护不友好,不符合开发规范。

3. 使用@param注解传递

@param注解用于指定key,指定了key之后,在sql标签中可以使用key来索引对应的参数值。

mapper 文件

接口中定义时使用 @param注解指定参数对应的key

xml 文件

不需要指定传入参数类型使用注解指定的key就可以获取到对应入参值

@param注解传参使用时清晰简洁明了,符合开发规范,在参数较少时建议使用该方式。

4. 使用map传递参数

mybatis框架底层就是将入参转换成map类型进行传递的,因此我们也可以使用map进行参数的传递,传入的参数在sql标签中可以根据map中的key值直接获取。

使用时,需要将传入的参数放入到map中

mapper 文件

xml 文件

入参类型指定为map

使用map传递参数符合mybatis底层的设计,性能也没有问题,但是在开发中由于将所有值封装成为map,无法直观看到map中可能含有的参数,在后期维护上不太友好。

5. 使用javabean(pojo)传递

除了map方式,还可以使用javabean很久很久以后的方式来传递多个参数,此时在sql标签中直接使用bean对象的属性来索引参数值,注意bean对象中 需要有相应参数的get方法,否则无法正常获取。

使用javabean作为参数,需要先定义javabean

mapper 文件

xml 文件

指定入参类型为相应的javabean全路径限定类名

javabean的参数传递方式更符合项目开发的规范,实际使用时简洁明了,在参数较多时建议使用这种方式,创建javabean来作为参数传递对象。

6. 使用list、array、t传递

list、array、t等方式的传参通常用于sql标签中的in操作,即用于mybatis中的标签。

使用list或array时,一般是做in操作,只有一个参数。

mapper 文件

xml 文件

不需要指定入参类型,或指定为list使用标签处理sql中的in操作如果参数是list,则collection为list;如果参数类型是array,则collection快餐经营是array如果是多个参数或者是对象的属性值作为list,则传参应为map/bean类型,collection应为对象属性中的list

到此这篇关于springboot使用mybatis时的几种传参规范示例的文章就介绍到这了,幸福的名言更多相关springboot mybatis 传参内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-05 02:18:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/f508a9131f9a28a3b3e280688ecdbd18.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:SpringBoot使用MyBatis时的几种传参规范示例.doc

本文 PDF 下载地址:SpringBoot使用MyBatis时的几种传参规范示例.pdf

标签:参数   文件   注解   类型
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图