MyBatis的执行步骤

在Iava编码领域中,涌现了许多优秀的框架,Struts工作在web层、Hibernate、MyBatis工作在数据访问层,Spring工作在业务层。这些框架都需要提供配置信息,以便框架能够运行,那么首要的问题就是要让框架知道配置内容是什么。在MyBatis编程中,Resouces工具能够读取配置文件的内容,但并不分析内容。

in=Resources.getResourceAsStream(configFile);

Resources类的getResourceAsStream方法能够在类路径中查找文件,并返回读取此文件内容的输入流。在Resources类的帮助下。sqlSessionFactoryBuilder类能够分析配置文件的内容,根据配置文件信息MyBatis框架的初始化工作。

SqlSessionFactoryBuilder builder=new sqlSessionFactoryBuilder();

sessionFactory=builder.build(in);

首先需要实例化SqlSessionFactoryBuilder对象,再调用其build方法完成初始化,初始化的结果就是获取了SqlSessionFactory对象。

SqlSessionFactory类是典型的工厂类,主要责任就是创建SqlSession对象,在前面的叙述中,了解到在匹配文件中需要配置数据源(数据库连接池),可以把SqlSessionFactory理解为连接池对象的另一种表现形式,内部的连接对象即是 SqlSession 对象。SqlSession 对象通过 SqlSessionFactory 的 openSession 方法获得。

session=sessionFactory.openSession();

SqlSession 接口则是数据交互的核心 API,它提供了两种方式与数据库进行交互。

第一种方式就是前面 TestMybatis 中使用的方式,通过 getMapper 方法获得数据访问对象(Dao 实现类对 象),这种方式并不需要编程实现 Dao 接口,MyBatis 通过字节码生成的方式自动生成 Dao 接口实现类。

IMemberMapper mdao=session.getMapper(IMemberMapper.class);

int n =mdao.countAll();

第二种方式是采用 MyBatis 3 之前的编码方式。

int n=session.selectOne("com.wmj.dao.IMemberMapper.countAll");

SqlSession 提供了一些列的查询方法,单个数据查询使用 selectOne 方法,多个数据查询使用 selec tList 方法,这些方法的第一个参数均是映射文件中查询语句的定位字符串,由映射文件 namespace 和语句 id 组成,namespace 和 id 之间用句点“.”符号连接。在 MyBatis 3 推出之后,推荐使用第一种方式来完成数据存 取操作。

综上所述,使用 MyBatis 编程实现数据访问,关键步骤如下:

1) 编写 MyBatis 配置文件 mybatis-config.xml

2) 编写接口映射文件 XxxMapper.xml 文件

3) 使用 Resources 工具类读取 mybatis-config.xml 配置文件

4) 实例化 SqlSessionFactoryBuilder 对象并调用 build 方法初始化 MyBatis 框架

5) 通过 SqlSessionFactory 打开 SqlSession 会话对象

6) 使用 SqlSession 对象的数据操作方法完成数据操作

7) 关闭 SqlSession 会话对象

MyBatis执行原理

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WMJ_wmj75

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值