这里通过举例来说明
!!!!注意:当使用注解的时候,mappers中配置的应该是mapper所在的包,而使用xml时,应该对应的是mapper.xml所对应的目录,而且要将mapper.xml文件放在src目录下,maven项目中要放在resource下
这里声明一个POJO:Role
package pojo;
public class Role {
private int id;
private String roleName;
private String note;
@Override
public String toString() {
return id+":"+id+"\t"+"roleName:"+roleName+"\t"+"note:"+note;
}
setter/getter....
}
当只有一个参数的时候,mapper.xml配置方式:
<select id="getOneRole" parameterType="int" resultType="pojo.Role">
select id,role_name as roleName,note from t_role where id = #{id}
</select>
当需要传入多个参数的时候,可以使用map方式,但是可读性比较差,mapper.xml配置方式:
<update id="updateRoleByMap" parameterType="map">
update t_role set role_name = #{roleName}, note = #{note}
</update>
基于map的多参数传入思想的注解传入,增加可读性,mapper的注解为:
mapper接口为:
public void updateRoleByMap(@Param("roleName")String roleName,@Param("note") String note);
mapper.xml为:
<update id="updateRoleByMap">
update t_role set role_name = #{roleName}, note = #{note}
</update>
如果有很多参数,那么就要采用javabean的方式进行传入
<insert id="addRole" parameterType="pojo.Role">
insert into t_role values (#{id},#{roleName},#{note})
</insert>
当然,也可以采用参数注解和javabean混用的方法。