系列文章目录
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
//待生成
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
一、Mybatis概述
1.1框架
- 在文献中看到的framework被翻译为框架 java常用的框架:
- SSM三大框架:Spring+SpringMVC+Mybatis
- SpringBoot
- SpringCloud
- 等等
- 框架其实就是对通用代码的封装,提前写好了一堆接口和类,我们可以在做项目的时候直接引入这些接口和类(其实就是引入框架),基于这些现有的接口和类进行开发,可以极大的提高开发效率。
- 框架一般都是以jar包的形式存在。(jar保重有class文件以及各种配置文件等。)
- SSM三大框架的学习顺序:MyBatis、Spring、SpringMVC
1.2三层架构
- 表现层(UI):跟前端交互(一是接收前端的ajax请求,二是返回json数据给前端)
- 业务逻辑层(BLL):一是处理表现层转发过来的前端请求(也就是具体业务),二是从持久层获取的数据返回到表现层。
- 数据访问层(DAL):直接操作数据库完成CRUD,并将获得数据返回到上一层(也就是业务逻辑层)。
- java持久层框架:
- Mybatis
- Hibernate(实现了JPA规范)
- JOOQ
- 。。。。
1.3 JDBC的不足
- JDBC的sql语句是镶在java程序中的,如若要修改sql语句就必须修改原先运行完好的java程序,这违反了OCP原则。OCP原则即“开- 闭原则”,对扩展开放,对修改关闭。
- JDBC代码比较繁琐。
1.4了解Mybatis
- Mybatis本质上就是对JDBC的封装,通过MyBatis完成CRUD。
- MyBatis在三层架构中负责持久层,属于持久层框架。
- MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。
- iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAOs)。
MyBatis的中文文档:mybatis.net.cn
- ORM:对象关系映射
- O(Object):Java虚拟机中的Java对象
- R(Relational):关系型数据库
- M(Mapping):将Java虚拟机中的java对象映射到数据库表中一行记录,或是将数据库表中一行记录映射成java虚拟机中的一个java对象。
- ORM图示
- MyBatis框架的特点:
- 支持定制化SQL、存储过程、基本映射以及高级映射
- 避免了几乎所有的JDBC代码中手动设置参数以及获取结果集
- 支持XML开发,也支持注解式开发。【为了保证sql语句的灵活,所以mybatis大部分式采用XML开发。】
- 将接口金和java的POJOs(Plain Ordinary Java Object,简单普通的Java对象)映射成数据库中的记录
- 体积小好学:两个jar包,两个XML配置文件。
- 完全做到sql解耦合。
- 提供了基本映射标签。
- 提供了高级映射标签。
- 提供了XML标签,支持动态SQL的编写。
- …
总结
第一章内容不多,基本上可以概括为:
- 何为框架:框架就是技术大牛对通用代码的封装,可以让我们提高开发的效率。
- 三层架构
- JDBC的不足
- 了解到何为ORM,并知晓MyBatis是一个半自动化的ORM框架。了解到MyBatis的诸多特点。
本文为本人在学习MyBatis时做的笔记,作者水平有限,难免有纰漏之处,还望读者批评指正。
关注我,和你共同进步!