详解Mybatis多参数传递入参四种处理方式

 更新时间:2021年04月14日 09:30:31   作者:禹奕晗  
这篇文章主要介绍了详解Mybatis多参数传递入参四种处理方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

1.利用参数出现的顺序

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
  select * from user where id = #{param1} and username = #{param2}
</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select * from user where id = #{arg0} and username = #{arg1}")
User MutiParameter(int id,String username);

参数出现顺序可以用arg0…到argn也可以用param1到param n设置表示第一个参数到第n个参数的位置
例子中arg0和param1表示第一个参数id,arg1和param2表示第二个参数

2.使用注解需要使用到mybatis @Param注解

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
  select * from user where id = #{id} and username = #{username}
</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(@Param("id")int id,@Param("username")String username);

@Param注解放在接口方法的前面@Param(“内容”)里面的内容和我们sql语句里面#{内容}里面的内容需要一致才能查找到

3.使用map 需要map的键和#{内容}里面的内容一致

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
  select * from user where id = #{id} and username = #{username}
</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(Map<String, Object> params);

测试方法

@Test
 public void testMutiParameter(){
  AuthorityMapper mapper = session.getMapper(AuthorityMapper.class);
  Map<String, Object> params = new HashMap<String, Object>();
  params.put("id", 2);
  params.put("username", "admin");
  mapper.MutiParameter(params);
 }

4.把参数封装在Javabean中

利用mapper.xml

<select id="MutiParameter" resultType="com.jt.mybatis.entity.User">
  select * from user where id = #{id} and username = #{username}
</select>

利用mybatis注解方式(sql语句比较简单时推荐此方式)

@Select("select * from user where id = #{id} and username = #{username}")
User MutiParameter(User user);

测试方法

   @Test
     public void testMutiParameter(){
      AuthorityMapper mapper = session.getMapper(AuthorityMapper.class);
      User user = new User();
      user.setId(2);
      user.setUsername("admin");
      mapper.MutiParameter(user );
     }

需要User的字段跟查询的#{内容}里面的内容一致

到此这篇关于详解Mybatis多参数传递入参四种处理方式的文章就介绍到这了,更多相关Mybatis多参数传递入参内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何把Java程序窗口在屏幕中间显示

    如何把Java程序窗口在屏幕中间显示

    大家在日常Java开发中,可能会需要把程序窗口定位在屏幕中间,那该如何操作呢,下面来一起看看。
    2016-08-08
  • springboot整合spring-retry的实现示例

    springboot整合spring-retry的实现示例

    本文将结合实例代码,介绍springboot整合spring-retry的实现示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • Java EE实现用户后台管理系统

    Java EE实现用户后台管理系统

    这篇文章主要为大家详细介绍了Java EE实现用户后台管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • 如何使用java写Student类的功能

    如何使用java写Student类的功能

    这篇文章主要介绍了如何使用java写Student类的功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • springboot内置tomcat调优并发线程数解析

    springboot内置tomcat调优并发线程数解析

    这篇文章主要介绍了springboot内置tomcat调优并发线程数解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Java8 Stream流多字段求和、汇聚的实例

    Java8 Stream流多字段求和、汇聚的实例

    这篇文章主要介绍了Java8 Stream流多字段求和、汇聚的实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • java学习之JasperReport踩坑

    java学习之JasperReport踩坑

    本篇文章介绍的是在JAVA学习中JasperReport遇到的坑以及解决办法,有需要的朋友参考下吧。
    2018-01-01
  • Java实现ArrayList排序的方法详解

    Java实现ArrayList排序的方法详解

    Java中常见的ArrayList排序方法主要为三种:JDK8的stream、Comparator#compare()和Comparable#compareTo(),本文将详解这三者的使用,需要的可以参考一下
    2022-05-05
  • java接收文件流+response.body()调用两次问题(分别接收文件和对象)

    java接收文件流+response.body()调用两次问题(分别接收文件和对象)

    这篇文章主要介绍了java接收文件流+response.body()调用两次问题(分别接收文件和对象),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Spring Boot实现异步请求(Servlet 3.0)

    Spring Boot实现异步请求(Servlet 3.0)

    在spring 3.2 及以后版本中增加了对请求的异步处理,这篇文章主要介绍了Spring Boot实现异步请求(Servlet 3.0),感兴趣的小伙伴们可以参考一下。
    2017-04-04

最新评论