[知了堂学习笔记]_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的功能体系
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/15/bbefdc49dc807fe323151543a0693139)
框架图:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/15/a1e5dcd4270117856a6b1476d02a788a)
扩展:
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
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
相关文章推荐
- [知了堂学习笔记]_Mybatis入门
- [知了堂学习笔记]mybatis面试题整理01
- MyBatis笔记01 - 入门介绍
- 【知了堂学习笔记】_mybatis入门
- [知了堂学习笔记]_JQuery入门
- celery 学习笔记 01-介绍
- mybatis学习笔记-介绍
- MyBatis学习笔记---入门
- Scrapy 入门学习笔记(1) -- Scrapy 项目搭建与架构介绍
- 《Spring+Mybatis》Mybatis入门学习笔记与代码
- 【慕课网】php工程师学习计划之我的学习笔记——01 入门必学web基础 htmlcss基础课程 篇
- Python入门学习笔记(1):Python、PyCharm 的安装和介绍
- MyBatis学习笔记(四)——入门程序(续)
- 韩顺平PHP学习视频笔记整理024php快速入门 bs和cs介绍
- MyBatis学习笔记(一)入门
- [知了堂学习笔记]_myBatis_04知识梳理
- entlib 5.0学习笔记 unity入门介绍
- mybatis学习笔记,简介及快速入门
- [知了堂学习笔记]_mybatis_03如何快速搭建mybatis框架之二
- C#入门到精通学习笔记01