MyBatis Mapper 接受参数的四种方式

对于单个参数而言,可以直接写#{param},这里的占位符名称没有限制,反正就一个参数一个占位符,不需要指定名称

对于多个参数,有常用的四种方式

根据位置排序号

public interface UserDao {
    public Integer addUser(String username, String password);
}

对应mapper文件中的片段

  <insert id="addUser">
    <!-- 按照参数位置从param1开始排序 -->
       insert into users(username, password) values(#{param1}, #{param2})
  </insert>

POJO对象传入

public interface UserDao {
    public Integer addUser(String username, String password);
}

对应mapper文件中的片段

  <insert id="addUser">
    <!-- 根据属性名访问数据 -->
       insert into users(username, password) values(#{username}, #{password})
  </insert>

Map对象传入

public interface UserDao {
    // mapper中#{}则通过map中的key访问
    public Integer addUser(Map<String, Object> map);
}

对应mapper文件中的片段

  <insert id="addUser">
       insert into users(username, password) values(#{username}, #{password})
  </insert>

@Param注解(Map对象的另一种形式)

public interface UserDao {
    // 注解中的值就是map的key
    public Integer addUser(@Param("name")String username, @Param("word")String password);
}

对应mapper文件中的片段

  <insert id="addUser">
       insert into users(username, password) values(#{name}, #{word})
  </insert>

猜你喜欢

转载自www.cnblogs.com/esrevinud/p/12296780.html