mybatis中的映射器的使用

这里通过举例来说明
!!!!注意:当使用注解的时候,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混用的方法。

猜你喜欢

转载自blog.csdn.net/q1937915896/article/details/88076015