Mybatis接口式编程

SqlSession代表和数据库的一次会话,用完必须关闭。

SqlSession和connection一样都是非线程安全的,每次使用都应该去获取新的对象。

mapper接口没有实现类,但是Mybatis会为这个接口生成一个代理对象

openSession.getMapper(EmployeeMapper.class);//这样获取的是代理对象
@Test
    public void test01() throws IOException {
        //获取SqlSession工厂对象, 已经封装获取
        SqlSessionFactory sessionFactory = getSqlSessionFactory();
        //获取Sqlsession
        SqlSession openSession = sessionFactory.openSession();
        //获取接口的实现类对象(Mybatis自动为接口创建实现类)
        EmployeeMapper employeeMapper = openSession.getMapper(EmployeeMapper.class);
        Employee employee = employeeMapper.getEmpById(1);
        System.out.println(employee);

    }

//接口类
public interface EmployeeMapper {
    Employee getEmpById(Integer id);
}
<!-- namespace:名称空间 设置为接口的全类名 -->
<mapper namespace="com.mxthd.mybatis.dao.EmployeeMapper">
    <!-- id:唯一标识符 resultType:返回类型 #{id}:占位符 -->
    <select id="getEmpById" parameterType="int" resultType="com.mxthd.mybatis.bean.Employee">
        select * from tab_empoyee where id = #{id}
    </select>
</mapper>
原文链接:,转发请注明来源!

发表评论