3. mapper代理方式(程序员只需mapper接口(相当于Dao的接口))

3.1   思路:1.程序员只需要写mapper接口(相当于Dao接口),mybatis可以自动生成mapper接口实现类的代理对象
2.程序员需要编写mapper.xml映射文件
3.开发规范:1.在mapper.xml中namespace等于mapper接口的地址

<!-- namespace命名空间 ,作用对sql进行分类化管理,理解sql隔离,namespace等于mapper接口地址

注意:使用mapper代理的方法进行开发,namespace具有特殊的意义
-->
<mapper namespace="top.haoyeyin.mapper.StudentMapper">
2.mapper接口中方法名和mapper.xml中的statement中的id一致

3.mapper.java接口中的输入参数类型和mapper.xml中statement的parameterType的指定 类型一致

4.mapper.java接口中方法的返回类型和mapper.xml中resultType指定的类型一致
public Student findStudentById(int id) throws Exception;
总结:1.mapper.java public interface StudentMapper {
//根据ID查询学生信息
public Student findStudentById(int id) throws Exception;
2.mapper.xml  <mapper namespace="top.haoyeyin.mapper.StudentMapper">
<!-- 映射文件中配置多种sql语句 -->
<!-- 通过select语句查询,id用于标识映射文件中的sql,所以id为statement的ID
将来sql语句封装到mapperstatement对象中
paramterType:指定输入参数类型,这里ID指定int型
#{}:占位符
#{id}:id表示输入的参数,id是参数名称,如果输入是简单类型#{}中的参数名可以任意,可以是
value或其名称
resultType:指定sql输出结果对应映射java对象,select指定的 resulType表示单条记录
所映射的Java对象
-->
<select id="findStudentById" parameterType="int" resultType="top.haoyeyin.pojo.Student">
select * from student where id=#{id}
</select>
3.测试方法
package top.haoyeyin.mapper;

import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.BasicConfigurator;
import org.junit.Before;
import org.junit.Test;

public class StudentMapperTest {

private SqlSessionFactory sqlSessionFactory;
@Before
public void setup() throws Exception{
BasicConfigurator.configure();
String resource = "SqlMapConfig.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
// 创建会话工厂sessionFactory,传入SqlMapConfig.xml配置信息
sqlSessionFactory = new SqlSessionFactoryBuilder()
.build(inputStream);

}
@Test
public void testFindStudentById() {
SqlSession sqlSession=sqlSessionFactory.openSession();
//创建StudentMapper对象
StudentMapper studentMapper=sqlSession.getMapper(StudentMapper.class);

//调用studentMapper的方法
try {
studentMapper.findStudentById(4);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

MyBatis mapper代理方式相关推荐

  1. Mybatis mapper代理SqlMapConfig.xml配置详解

    SqlMapConfig.xml是mybatis的全局配置文件: 1.mapper映射配置 >配置mapper的另外一种方式: <mappers> <mapper resour ...

  2. mybatis--开发Dao--原始dao方式和Mapper代理方式

    Mybatis开发dao Mybatis在项目中主要使用的地方就是开发dao(数据访问层), 有两种方式:原始dao开发方式.mapper代理开发方式(推荐). 需求: 1. 根据用户ID来查询用户信 ...

  3. MyBatis中Mapper代理方式

    Mapper 的动态代理作用 目前使用sqlsession进行增删改查的缺点: [1]没有办法实现多参数的传递 [2]书写的时候没有接口,后期的维护就比较的低 解决的方案: Mapper的代理方式实现 ...

  4. Mybatis mapper代理Dao开发

    mapper代理的方式,将原始Dao开发中,Dao层接口的实现类中重复的代码提取出来,进一步封装. 使用mybatis实现mapper接口的代理,同样需要编写mapper.xml配置文件. 而且map ...

  5. mybatis教程--原始方式和mapper方式开发dao详解

    mybatis开发dao的两种方式 一.原始的dao开发方式 所谓的原始的dao的开发方式,其实就是和hibernate的开发方式类似的,需要dao的接口和dao的实现类,这个就是原始的开发方式,而m ...

  6. SSM21:Mapper代理开发

    目录 创建数据库 连接数据库 导入坐标pom.xml 编写mybatis.xml配置文件 编写日志配置文件 编写sql映射文件UserMapper.xml 创建UserMapper接口 创建pojo类 ...

  7. 初识 My Batis一 什么是My Batis,JDBC缺点,My Batis简化,Mapper 代理开发,My Batis 核心配置文件

    文章目录 MyBatis 什么是MyBatis? 持久层 框架 JDBC缺点 Mybatis简化 MyBatis快速入门 查询 user 表中所有数据 解决 SQL 映射文件的警告提示 Mapper代 ...

  8. 【Java】Mybatis mapper动态代理方式

    前言 我们在使用Mybatis的时候,获取需要执行的SQL语句的时候,都是通过调用xml文件来获取,例如:User user = (User) sqlSession.selectOne("c ...

  9. Mybatis中Mapper动态代理方式

    文章目录 开发规范 Mapper接口开发需要遵循以下规范 Mapper.xml(映射文件) UserMapper(接口文件) 加载UserMapper.xml文件 总结 selectOne和selec ...

最新文章

  1. 柳进军 | 城市大脑的逻辑模型
  2. 结合jenkins以及PTP平台的性能回归测试
  3. 参数处理:#{}与${}取值的区别
  4. LeetCode419罗马数字转整数python
  5. 译 | 在 Azure SQL 上节约成本的八种方法
  6. python 图像处理_Python中的十大图像处理工具
  7. ​全网首发,TensorFlow 2.0 中文视频教程来啦
  8. 毛谦解读“Pb/s级光传输”:技术的恩惠远不止于此
  9. Python爬虫之(四)urllib库的高级用法
  10. 面试题系列(三)-socket
  11. Anaconda离线安装pkgs
  12. 【转】VS2010测试功能之旅:编码的UI测试(2)-操作动作的录制原理(上)
  13. Oracle简单操作总结
  14. linux数据库备份到windows
  15. 物联网中常用的方法,16进制二进制之间的转换
  16. U8导入根据Excel导入BOM
  17. java滚动条_java swing:文本框添加滚动条
  18. Echarts环形图使用和设置(内外大小、颜色、指示线、圆圈中心字展示)
  19. div 位于屏幕正中间_div定位在屏幕中间
  20. js实现禁止网页缩放(Ctrl+鼠标、+、-缩放有效亲测)

热门文章

  1. webstorm 设置jsp支持
  2. 神马是敏捷?(4)——敏捷不能当饭吃
  3. Delphi匿名方法(三):扩展本地变量的生命周期
  4. mojoportal学习——文章翻译之多行横排菜单
  5. [翻译] 构建完美的WPF开发工作站
  6. java扫描包内所有类_第20天|Java入门有野,修饰符
  7. mysql例题_mysql练习题1
  8. python好多模块和c相识_快速实现python c扩展模块
  9. 理科大学二本计算机系,大学最好就业的二本专业:高校男生女生二本理科比较好的专业...
  10. mongodb php 安装配置,MongoDB 基本安装配置