使用mybatis的两种方式
Posted nicewuranran
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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>
以上是关于使用mybatis的两种方式的主要内容,如果未能解决你的问题,请参考以下文章