MyBatis 推荐的传参方式

第一种:单个参数

//接口方法
int getAgeById(Integer id);
//xml映射文件
<select id="getAgeById" resultType="Integer">
    select age from user where user_id = #{id}
</select>

第二种:多个参数

//接口方法
 User login(@Param("username") String username, @Param("password") String password);
 //xml映射文件
 <select id="login" resultMap="BaseResultMap">
    select
    *
    from user
    where username = #{username} and password = #{password}
</select>

注:与单个参数不同的是多个参数接口方法中@Param注解。

第三种:数组参数

//接口方法
ArrayList<User> selectByIds(Integer [] ids);
//xml映射文件
<select id="selectByIds" resultMap="BaseResultMap">
    select
    *
    from user where id in
    <foreach item="item" index="index" collection="array" open="(" separator="," close=")">
        #{item}
    </foreach>
</select>

第四种:List参数

//接口方法
ArrayList<User> selectByIds(List<Integer> ids);
//xml映射文件
<select id="selectByIds" resultMap="BaseResultMap">
    Select
    <include refid="Base_Column_List" />
    from jria where ID in
    <foreach item="item" index="index" collection="list" open="(" separator="," close=")">
          #{item}
      </foreach>
  </select> 

猜你喜欢

转载自blog.csdn.net/qq_36189144/article/details/86612644
今日推荐