您的位置:首页 > 其它

[知了堂学习笔记]_myBatis_01入门介绍

2017-11-21 11:02 531 查看
一、什么是mybatis
          Mybatis是一个不完整的ORM【对象关系映射:ObjectRelation Mapping,用于实现面向对象编程语言里不同类型系统的数据之间的转换。把表映射成实体类,把表中字段映射实体类属性(POJO)】框架,是一个持久化框架
 mybatis框架只实现了关系到对象的映射

 持久化:将数据信息永久的保存到数据库、文件系统
 持久层:将数据实现持久化操作的框架,就是取代JDBC

         常见的ORM开源框架:mybatis、Hibernate(完整的ORM框架)
         Mybatis和Hibernate不同,更关注原生sql编写来实现数据库CRUD操作
         Mybatis采用功能强大的基于OGNL的表达式来消除其他元素。#{…}
 Mybatis的优势:
            1.mybatis是支持普通sql查询,存储过程和高级映射
             2.消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。
             3.MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain OldJava Objects,普通的Java对象)映射成数据库中的记录。
             4. 提供对象关系映射标签,支持对象关系组建维护
              5.Mybatis良好的sql缓存
              6.提供xml标签,支持编写动态sql,解除sql与程序代码的耦合。
 Mybatis的缺点:
             1. sql依赖于数据库,导致数据库移植性差。
             2. 由于xml里标签id必须唯一,导致DAO中方法不支持方法重载。
             3.  不支持级联更新、级联删除。
             4. DAO层过于简单,对象组装的工作量较大。
             5. 参数的数据类型支持不完善。(如参数为Date类型时,容易报没有get、set方法,需在参数上加@param)
             6. 若不查询主键字段,容易造成查询出的对象有“覆盖”现象。
Mybatis的功能体系



框架图:





扩展:

 mybatis从iBatis发展而来的,从apache项目下,googlecode,github
 Apache
 服务器,跨平台,安全性

 ASF:开源项目基金会

开源项目:tomcat,ibatis,hadoop,lucence

Googlecode
 开源项目的托管

github

   开源项目的托管

 mybatis核心类和接口(session包)
SqlSessionFactoryBuilder
SqlSessionFactory
SqlSession:简历数据库连接的

Mapper实例:真正去使用sql操作数据库的
mybatis核心配置文件

SqlConf.xml   配置数据库连接等相关的大的配置

Mapper.xml  配置映射

 请关注“知了堂学习社区”,地址:http://www.zhiliaotang.com/portal.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mybaties