MyBatis框架理解与使用
2017-10-06 22:13
197 查看
1.半自动化的ORM实现
2.DAO层
3.动态SQL
4.小巧灵活、简单易学
5.持久化是程序数据在瞬时状态和持久状态间转换的过程
MyBatis前身是iBatis,本是Apache的一个开源的项目
官方网站 http://mybatis.org ORM框架
实体类和SQL语句之间建立映射关系
特点
1.基于SQL语法,简单易学
2.能了解底层封装过程
3.SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度
4.方便程序代码调试
使用MyBatis的开发步骤
1.下载mybatis-3.2.2.jar包并导入工程
2.编写MyBatis核心配置文件(configuration.xml)
3.创建实体类-POJODAO层-SQL映射文件(mapper.xml)
4.创建测试类
-读取核心配置文件mybatis-config.xml
-创建SqlSessionFactory对象,读取配置文件
-创建SqlSession对象
-调用mapper文件进行数据操作
优点
1.与JDBC相比,减少了50%以上的代码量
2.最简单的持久化框架,小巧并简单易学
3.SQL代码从程序代码中彻底分离,可重用
4.提供XML标签,支持编写动态SQL
5.提供映射标签,支持对象与数据库的ORM字段映射
缺点
1.SQL语句编写工作量大,对开发人员有一定要求
2.数据库移植性差
适合
MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案,适用于性能要求较高或者需求多变的互联网项目
MyBatis的核心对象
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
mybatis-config.xml 系统核心配置文件
XXXmapper.xml SQL映射文件
SqlSessionFactoryBuilder
1.用过即丢,其生命周期只存在于方法体内
2.可重用其来创建多个 SqlSessionFactory 实例
3.负责构建SqlSessionFactory,并提供多个build方法的重载
1.SqlSessionFactory是每个MyBatis应用的核心
2.作用:创建SqlSession实例
SqlSession session = sqlSessionFactory.openSession(boolean autoCommit);
//autoCommittrue:关闭事务控制(默认)
//false:开启事务控制
3.作用域:Application
4.生命周期与应用的生命周期相同
5.单例
-存在于整个应用运行时,并且同时只存在一个对象实例
SqlSession
1.包含了执行SQL所需的所有方法
2.对应一次数据库会话,会话结束必须关闭
3.线程级别,不能共享
实例:
SqlSession session = sqlSessionFactory.openSession();
try {
// do work
} finally {
session.close();
}
注意:
-在SqlSession里可以执行多次SQL语句,但一旦关闭了SqlSession就需要重新创建
2.DAO层
3.动态SQL
4.小巧灵活、简单易学
5.持久化是程序数据在瞬时状态和持久状态间转换的过程
MyBatis前身是iBatis,本是Apache的一个开源的项目
官方网站 http://mybatis.org ORM框架
实体类和SQL语句之间建立映射关系
特点
1.基于SQL语法,简单易学
2.能了解底层封装过程
3.SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度
4.方便程序代码调试
使用MyBatis的开发步骤
1.下载mybatis-3.2.2.jar包并导入工程
2.编写MyBatis核心配置文件(configuration.xml)
3.创建实体类-POJODAO层-SQL映射文件(mapper.xml)
4.创建测试类
-读取核心配置文件mybatis-config.xml
-创建SqlSessionFactory对象,读取配置文件
-创建SqlSession对象
-调用mapper文件进行数据操作
优点
1.与JDBC相比,减少了50%以上的代码量
2.最简单的持久化框架,小巧并简单易学
3.SQL代码从程序代码中彻底分离,可重用
4.提供XML标签,支持编写动态SQL
5.提供映射标签,支持对象与数据库的ORM字段映射
缺点
1.SQL语句编写工作量大,对开发人员有一定要求
2.数据库移植性差
适合
MyBatis专注于SQL本身,是一个足够灵活的DAO层解决方案,适用于性能要求较高或者需求多变的互联网项目
MyBatis的核心对象
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession
mybatis-config.xml 系统核心配置文件
XXXmapper.xml SQL映射文件
SqlSessionFactoryBuilder
1.用过即丢,其生命周期只存在于方法体内
2.可重用其来创建多个 SqlSessionFactory 实例
3.负责构建SqlSessionFactory,并提供多个build方法的重载
build(InputStream inputStream, String environment, Properties properties) build(Reader reader, String environment, Properties properties) build(Configuration config) 配置信息以三种形式提供给SqlSessionFactory的build方法: InputStream(字节流)、Reader(字符流)、Configuration(类)
读取XML文件构造方式: String resource = "mybatis-config.xml"; InputStream is = Resources.getResourceAsStream(resource); SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);SqlSessionFactory
1.SqlSessionFactory是每个MyBatis应用的核心
2.作用:创建SqlSession实例
SqlSession session = sqlSessionFactory.openSession(boolean autoCommit);
//autoCommittrue:关闭事务控制(默认)
//false:开启事务控制
3.作用域:Application
4.生命周期与应用的生命周期相同
5.单例
-存在于整个应用运行时,并且同时只存在一个对象实例
SqlSession
1.包含了执行SQL所需的所有方法
2.对应一次数据库会话,会话结束必须关闭
3.线程级别,不能共享
实例:
SqlSession session = sqlSessionFactory.openSession();
try {
// do work
} finally {
session.close();
}
注意:
-在SqlSession里可以执行多次SQL语句,但一旦关闭了SqlSession就需要重新创建
相关文章推荐
- SpringMVC+Spring+mybatis 实现登录过程(使用后台验证框架)
- Mybatis源码学习(一)-整体框架理解
- 个人对mybatis框架的理解与体会
- 菜鸟使用SSM框架搭建web服务器实现登录功能(Spring+SpringMVC+Mybatis)
- ShowCursor、MouseHover、MouseLeave使用与MFC框架理解
- 使用框架进行开发的一点理解
- zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)
- Mybatis源码学习(一)-整体框架理解
- JavaEE_Mybatis_SpringMVC_框架整合_lesson1_简单的SSM框架搭建_使用原始Dao开发方式进行测试
- 一、MyBatis框架的配置与基本使用
- SpringMVC、MyBatis框架整合开发项目的简单说明(使用框架说明)
- Android整合网上资源以及个人对GreenDao数据库框架的理解与使用(android-studio开发)
- Mybatis3 框架理解
- MyBatis框架的使用
- Spring、Spring MVC、MyBatis等Java Web框架使用问题集锦
- MyBatis框架的使用
- zTree的调用设使用(跨两个系统,两类技术实现的项目案例SpringMVC+Spring+MyBatis和Struts2+Spring+ibatis框架组合)
- MyBatis缓存使用及理解
- 使用Spring Tool Suite搭建spring mvc+mybatis框架的自己总结