关闭

使用mybatis的两种方式

标签: mybatis
3550人阅读 评论(0) 收藏 举报
分类:

使用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>
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场