Mybatis入门到精通-Mybatis简介
2017-10-22 14:39
225 查看
MyBatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。MyBatis 本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL
Maps和Data Access Objects(sDAO)
1、什么是MyBatis
1.1、简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
1.2、背景
MyBatis是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis
使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Ordinary Java Objects,普通的 Java对象)映射成数据库中的记录。
每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得。SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得。
用xml文件构建SqlSessionFactory实例是非常简单的事情。推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file://开头的url创建的实例。MyBatis有一个实用类----Resources,它有很多方法,可以方便地从类路径及其它位置加载资源。
1.3、特点
简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
提供映射标签,支持对象与数据库的orm字段关系映射
提供对象关系映射标签,支持对象关系组建维护
提供xml标签,支持编写动态sql
相关文章推荐
- 第七章mybatis入门到精通
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通
- Web前端从入门到精通-8 css简介——清除浮动
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis入门到精通01
- mybatis实战教程(mybatis in action),mybatis入门到精通
- MyBatis 入门到精通(一) 了解MyBatis获取SqlSession
- mybatis实战教程(mybatis in action),mybatis入门到精通
- MyBatis 入门到精通(二) SQL语句映射XML文件
- mybatis实战教程(mybatis in action),mybatis入门到精通
- mybatis实战教程(mybatis in action),mybatis入门到精通
- MyBatis 入门到精通(二) SQL语句映射XML文件
- Node.js入门到精通(1)简介
- Django简介--Django从入门到精通系列教程
- mybatis实战教程- 入门到精通
- mybatis实战教程- 入门到精通