Mapper接口的实现

Mapper接口的实现和Dao实现相似,但Mapper接口并不需要实现类

使用的时候通常在service中并实现service中的接口

大致流程为:
1.将主配置文件和对应的类的Mapper配置文件关联

2.在对应Mapper的配置文件中设置命名空间,命名空间为Mapper接口的路径,然后在配置文件中设置你需要的SQL语句

3.使用session中的getMapper(Mapper接口.class)方法获取接口对象的代理,用接口对象接收

4.这时候就可以直接使用接口中的方法了

以下是Mapper配置文件的示例代码

<?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.offcn.mybatis.mapper.EmployeeMapper">
    <!--定义一个结果映射
    id:resultMap的唯一标识
    type:封装哪个类的对象
    -->
    <resultMap id="employeeResultMap" type="Employee">
        <id column="t_id" property="id"></id>
        <result column="t_name" property="name"></result>
        <result column="t_age" property="age"></result>
        <result column="t_birthday" property="birthday"></result>
        <result column="t_salary" property="salary"></result>
    </resultMap>
    <!--查找一个-->
    <select id="selectEmp"  resultMap="employeeResultMap">
    select t_id,t_name,t_age,t_birthday,t_salary from t_employee where t_id = #{id}
     </select>
    <!--查找全部-->
    <select id="selectAllEmp"  resultMap="employeeResultMap">
    select id,name,age,birthday,salary from t_employee
     </select>
    <!--
    useGeneratedKeys:启动获取数据库自动生成的主键
    keyProperty:把获取到的主键注入给对象的哪个属性
    keyColumn:从哪个列获取主键(可以省略)
    -->
    <!--插入-->
    <insert id="insertEmp" parameterType="Employee" useGeneratedKeys="true" keyProperty="id" keyColumn="id" >
        insert  into
        t_employee (name,age,birthday,salary)
        values (#{name},#{age},#{birthday},#{salary})
    </insert>
    <!--更新-->
    <update id="updateEmp" useGeneratedKeys="true" >
        update t_employee
        set
            name=#{name},
            age=#{age},
            birthday=#{birthday},
            salary=#{salary}
        where id=#{id};
    </update>
    <!--删除-->
    <delete id="deleteEmp">
        delete from t_employee
        where id=#{id}
    </delete>
</mapper>
在这里插入代码片

你可能感兴趣的:(mybatis)