Mybatis如何传入多个参数(实体类型和基本类型)

目录

Mybatis传入多个参数

1.ProjectController类

2.ProjectAndUserService接口

3.ProjectAndUserServiceImpl实现类

4.ProjectAndUserMapper接口

5.ProjectAndUserMapper.xml

Mybatis传入多个参数时,如何处理

方式一

方式二

方式三

Mybatis传入多个参数 1.ProjectController类 Integer oldUserId = getUserIdByUserName(oldUserName); ProjectAndUser projectAndUser = new ProjectAndUser(); projectAndUser.setProjectId(project.getId()); projectAndUser.setUserId(newUserId); projectAndUser.setAccessLevel(1); projectAndUserService.update(projectAndUser, oldUserId); 2.ProjectAndUserService接口 public interface ProjectAndUserService extends BaseService<ProjectAndUser> {     public boolean update(ProjectAndUser projectAndUser, Integer oldUserId); } 3.ProjectAndUserServiceImpl实现类 @Service public class ProjectAndUserServiceImpl extends BaseServiceImpl<ProjectAndUser> implements ProjectAndUserService {     @Autowired     ProjectAndUserMapper projectAndUserMapper;     @Override     protected BaseMapper<ProjectAndUser> getMapper() {         return projectAndUserMapper;     }     public boolean update(ProjectAndUser projectAndUser, Integer oldUserId){         return projectAndUserMapper.update(projectAndUser, oldUserId);     } } 4.ProjectAndUserMapper接口

通过使用@Param注解,实现传入多个参数

@Mapper public interface ProjectAndUserMapper extends BaseMapper<ProjectAndUser> {     public boolean update(@Param("projectAndUser") ProjectAndUser projectAndUser, @Param("oldUserId") Integer oldUserId); } 5.ProjectAndUserMapper.xml

因为传入的参数包括实体类对象,因此使用实体类对象的属性时需要采用projectAndUser.projectId的形式

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.taobao.rigel.rap.mapper.ProjectAndUserMapper">     <resultMap id="ProjectAndUserMap" type="com.taobao.rigel.rap.model.ProjectAndUser">         <result column="project_id" property="projectId"/>         <result column="user_id" property="userId"/>         <result column="access_level" property="accessLevel"/>     </resultMap>     <update id="update">         update tb_project_and_user_new set user_id=#{projectAndUser.userId} where project_id=#{projectAndUser.projectId} and user_id=#{oldUserId} and access_level=#{projectAndUser.accessLevel}     </update> </mapper> Mybatis传入多个参数时,如何处理 方式一

通过使用索引方式,来指定想传入的参数,#{index}   索引从0开始。

DAO接口

Mybatis配置

注意:

1.由于是多参数传入,所以不需要对parameterType进行配置。

2.由于使用索引方式,所以在DAO接口中不需要使用@Param注解来注明参数名

方式二

通过MyBatis的注解(@Param("paramName"))方式来注明参数

DAO接口

MyBatis配置

注意:

1.同样由于是多参数传入,所以不需要对parameterType进行配置。

方式三

通过Map方式传递多个参数,map中的key的名字就是对应xml配置中#{}中使用的那个

以上为个人经验,希望能给大家一个参考,也希望大家多多支持易知道(ezd.cc)。

推荐阅读

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    魅蓝note6性能参数有哪些

    魅蓝note6性能参数有哪些,摄像头,蓝牙,魅蓝note6性能参数有哪些魅力蓝色Note6最好拍照。电池寿命更长。蓝色Note6使用高通 snapdragon 625

    公共CPU接口类型的详细描述

    公共CPU接口类型的详细描述,,我们知道CPU是电脑的大脑, CPU的处理速度直接决定电脑的性能, 那你知道CPU发展到现在, 都那些CPU接口类型吗.

    FM1和AM3接口将在今年年底前淘汰

    FM1和AM3接口将在今年年底前淘汰,,据来自主板制造商的消息,AMD将开始逐步淘汰Socket FM1和Socket AM3接口从本月开始的处理器,最后消失在第

    设置总账参数|用友u8设置总账参数

    设置总账参数|用友u8设置总账参数,,1. 用友u8设置总账参数1、首先要点开数据权限控制设置;2、选择想要设置控制的单据;3、打开后看到左上角

    Windows8开发版系统高清系统接口图

    Windows8开发版系统高清系统接口图,,今天,微软发布,目前由开发者体验版Windows 8操作系统为整个英文系统,Windows 8带来了一系列新功能,没有折

    csgo参数设置|csgo怎么保存

    csgo参数设置|csgo怎么保存,,csgo怎么保存第一步下载csgo的官方版本。然后再下载一个5e对战平台,PS:5e的账号和csgo的账号不是一个账号。第

    移动apn设置|移动apn设置参数

    移动apn设置|移动apn设置参数,,移动apn设置参数1、打开手机系统设置界面应用,点击页面中的“移动网络”设置选项。2、进入移动网络设置页面