MyBatis框架的开发流程及注意事项

来源:互联网 发布:如何开通手机淘宝店铺 编辑:程序博客网 时间:2024/04/20 01:33

一、MyBatis框架的简介:

① Mybatis是一个优秀的持久化层框架,它支持普通的sql语的查询,存储过程调用和数据的映射(java中的对象<------->关系型数据库中记录)

② 使用MyBatis框架能够消除几乎所有的jdbc代码、参数的手工设置、结果集以及对象转换代码。

③ MyBatis 框架支持使用xml配置文件,能够将java中的POJO映射为数据库中的记录,也可将数据库中的一条条记录映射到java中的一个个对象。

二、MyBatis框架的设计思想:

MyBatis框架工作在应用程序的数据库访问层,当使用MyBatis框架后,数据库访问层需编写:映射接口和映射xml文件

映射器接口有开发者定义,共业务逻辑层调用。接口中定义了各种数据存取的方法,MyBatis框架负责创建实现接口的实例对象(注:这些接口一般为Mapper命名为后缀,例如:UserMapper)

映射xml文件用来放置开发者编写的SQL语句,该文件和映射器接口同名;(例如:UserMapper.xml) 一个xml文件中可以包含多个SQL语句,分别对应映射器接口中的方法名,xml文件中的SQL语句的id和接口中的方法名同名;

核心配置文件配置数据库连接参数以及MyBatis框架运行时的参数 。(在应用程序当中,一般使用静态语句块来让MyBatis框架会解析此核心文件,创建Configuration对象)

三、MyBatis框架基本的使用流程:

① 先导入mybatis-3.x.jar和数据库驱动jar包

② 在数据库访问层中添加如下文件

● 一个核心配置文件 (例如:Configuration.xml)

●  多个映射器接口文件 (例如:UserMapper.java) 

          多个映射xml文件(例如:UserMapper.xml)  

③ 编写代码,解析核心配置文件(Configuration.xml),创建SqlSessionFactory工厂,一个应用程序当中一个数据库配置环境一允许有一个Sql会话工厂对象(一般用单利模式创建)

④ 通过SqlSessionFactory工厂来创建一个SqlSession实例,进一步得到映射接口的实例

⑤ 在业务逻辑层中调用引射器接口中的方法进行业务处理

⑥ 关闭SqlSession对象(一个SqlSession实例当中都有一个Connection对象实例)

核心代码实例:

//mybatis框架会自动的借助这个Resources辅助类,来读取这个Configuation.xml文件(返回一个Reader字符流对象)
reader = Resources.getResourceAsReader("com/xupt/dao/Configuation.xml");
//解析这个文件Configuation.xml来构建这个工厂
factory = new SqlSessionFactoryBuilder().build(reader);

//通过工厂来获取Sqlsession实例
SqlSession session = factory.openSession();

// 获取实现UserMapper接口的实例
UMapper
seruserMapper = session.getMapper(UsertMapper.class);

try {
//调用数据库访问层的方法
info = userMapper.getUserInfoByAccount(account);
//没有发生异常,事务的提交
session.commit();
} catch (Exception e) {
//发生异常,事务的回滚
session.rollback();
e.printStackTrace();
} finally{
//SqlSession关闭(关闭数据库的连接)
session.close();
}

● 应用程序当中org.apache.ibatis.session.SqlSession接口同MyBatis框架进行交互,通过SqlSession获取映射接口的实例,

通过SqlSession管理事务,完毕以后归还给数据库连接池并关闭!(MyBatis数据库中包含了一个连接池)

0 0