mybatis学习笔记一 简介
来源:互联网 发布:如何黑进路由器 知乎 编辑:程序博客网 时间:2024/06/05 23:48
MyBatis
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(sDAO)
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
MyBatis[2] 是支持普通 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.简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装只要两个jar文件+配置几个sql映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
- 2.灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。 sql写在xml里,便于统一管理和优化。通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
- 3.解除sql与程序代码的耦合:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
- 4.提供映射标签,支持对象与数据库的orm字段关系映射
- 5.提供对象关系映射标签,支持对象关系组建维护
- 6.提供xml标签,支持编写动态sql。
阅读全文
0 0
- mybatis学习笔记一 简介
- MyBatis学习笔记-简介
- J2EE系列之MyBatis学习笔记(一)-- 简介
- MyBatis 学习笔记一
- MyBatis学习笔记一
- mybatis学习笔记一
- Mybatis学习笔记一
- 学习笔记一、简介
- mybatis学习 一、MyBatis简介与配置MyBatis+Spring+MySql
- mybatis学习 一、MyBatis简介与配置MyBatis+Spring+MySql
- MyBatis学习(一)MyBatis简介与配置MyBatis+Spring+MySql
- Mybatis学习(一)MyBatis简介与配置MyBatis+Spring+MySql
- Mybatis学习笔记--(一)Mybatis基础
- MyBatis学习笔记(一)--初识MyBatis
- Mybatis JPetStore 学习笔记(一)
- mybatis学习笔记(一)
- Mybatis学习笔记(一)
- Mybatis学习笔记(一)
- JAVA学习笔记04——Linux系统下安装Tomcat
- Oracle物化视图详解
- MyBatis 配置1
- crf模型
- Java数据结构之队列_动力节点Java学院整理
- mybatis学习笔记一 简介
- 部分OI常用数论符号集锦
- 虚拟资源引流变现
- Unix——《Unix网络编程》配置unp.h头文件
- 为什么macCharts.js没有引入echart却可以用echarts
- 泛型类型擦除,如何工作,由来
- 设计模式系列(六)代理模式
- linux下删除oracle数据库实例
- ios接入微信SDK的一些坑(后期会陆续更新)