使用mybatis的两种方式
使用mybatis两种方式
有两种方式使用mybatis 1、基于传统方式statementid 方式 2、基于Mapper接口方式调用
代码片段
// 1、传统的使用 statementId方式 //先确定statementId全限定名 final String statementId = "com.xuyi.usemybatis.pojo.Student.selectStudentById"; Student student = sqlSession.selectOne(statementId, 4); // 2、使用mapper接口方式 //获得Mapper对象 StudentMapper studentMapper = sqlSession.getMapper(StudentMapper.class); Student student = studentMapper.selectStudentById(4);
推荐使用基于Mapper接口方式优点: 1、书写简洁 2、类型安全检查不需要自己强制类型转换 3、mybatis自动帮我们生成代理对象,集成spring时候很方便使用
基于传统的statement id方式
//插入记录 int insert(String statement, Object parameter); //更新记录 int update(String statement, Object parameter); //检索单条记录 <T> T selectOne(String statement, Object parameter); //检索多条记录 <E> List<E> selectList(String statement, Object parameter); //删除记录 int delete(String statement, Object parameter); 所有的操作都有一个statement,即全限定名。namespace+statementid
备注:使用传统方式对映射器配置文件的namespace命名没有任何要求,只要statement全限定名不重复就可以。
基于Mapper接口方式
Mapper接口实现是由mybatis框架帮我们实现的,生成代理对象供我们使用。
备注:使用Mapper接口方式是有要求的,映射器配置文件的namespace必须和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.xuyi.usemybatis.dao.StudentMapper"> ...定义statement 语句 </mapper>
