本文主要是介绍Java安装后续步骤,最全Java知识总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在这里分享一份 [mybatis从入门到精通] 的强力教程,定能够助你一臂之力。
### Mybatis基本介绍
1. ORM和MyBatis
1. 对象/关系数据库映射(ORM)
1. 基本映射方式
1. 流行的ORM框架简介
目前流行的编程语言,例如Java、 C#等,都是面向对象的编程语言;而目前主流的数据库产品,例如Oracle、DB2等,依然是关系数据库。编程语言和底层数据库的发展不协调,催生出了ORM框架,ORM框架可作为面向对象编程语言和数据库之间的桥梁。
确切地说,MyBatis 并不完全是一种ORM框架,它的设计思想和ORM相似,只是它允许开发,人员直接编写SQL语句,使得访问数据库更加灵活,更准确地说,它应该是一种“SQL Mapping”框架。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288576263873.jpg)
### Mybatis的体系结构
1. SqlSessionFactory
1. SqlSession
1. MyBatis的配置文件结构
1. settings设置
1. typeAliases类型命名
1. typeHandlers类型处理器
1. objectFactory对象工厂
1. environments配置环境
1. mapper映射器
通过前面的介绍可以知道,MyBatis 的持久化解决方案将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无须关注底层的JDBC操作,就可以面向对象的方式进行持久层操作。底层数据库连接的获取、数据访问的实现、事务控制等都无须用户关心,从而将应用层从底层的JDBC/JTAAPI抽取出来。通过配置文件管理JDBC连接,让MyBatis解决持久化访问的实现。
MyBatis中的常用对象有SqSessionFactory和SlSession。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288577143970.jpg)
### Mybatis的关联映射和动态SQL
1. 一对一
1. 一对多
1. 多对多
1. 动态SQL
关联关系是面向对象分析、面向对象设计最重要的知识,MyBatis完全可以理解这种关联关系,如果映射得当,MyBatis的关联映射将可以大大简化持久层数据的访问。关联关系大致有如下分类。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288577561582.jpg)
### Mybatis的事务管理以及缓存机制
1. 事务的概念
1. Transaction接口
1. 事务的配置创建和使用
1. 一级缓存( SqlSession级别)
1. 二级缓存(mapper级别)
每个业务逻辑都是由一系列数据库 访问完成的,这-系列数据库访间可能会修改多条数据记录,这一系列修改应该是一个整体,绝不能仅修改其中的几条数据记录。也就是说,多个数据库原子访问应该被绑定成一个整体,这就是事务。事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃执行。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288578839969.jpg)
### Mybatis注解配置
1. MyBatis常用注解
1. MyBatis注解的插入、修改、删除和查询操作
1. MyBatis注解的一对一、一对多和多对多操作
1. MyBatis注解的动态SQL
前面介绍了MyBatis的基本用法、关联映射、动态SQL和缓存机制等知识,其所有的配置都是使用XML完成,但是大量的XML配置文件的编写是非常繁琐的,因此MyBatis也提供了更加简便的基于注解(annotation) 的配置方式。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288578501200.jpg)
### Spring4整合Mybatis3
1. 开发环境搭建
1. 准备所需的jar包
1. 准备数据库资源
1. 完成配置文件
1. 持久层功能实现
1. 服务层功能实现
1. 控制层功能实现
1. jsp页面
1. 测试Spring4整合MyBatis3
在实际的项目开发中,我们需要将Spring和MyBatis进行整合,从而使用Spring 依赖注入以减少代码的耦合,使用Spring MVC处理请求并作出响应,使用MyBatis更加简捷地完成数据库操作。这里将重点介绍Spring和MyBatis的整合过程。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288578860267.jpg)
> 文档的最后一部分是项目实战
1. 人事管理系统功能模块设计
1. 人事管理系统持久化组件设计
1. 人事管理系统业务逻辑组件设计
1. Spring MVC整合MyBastis优势
最后将会综合运用前面所介绍的知识来开发一个简单的人事管理 (HRM)系统。该系统包括用户管理、部门管理、职位管理、员工管理、公告管理、下载中心等常用的人事管理系统功能。
本系统采用前面介绍的Java EE架构: Spring MVC + MyBatis3.4,该系统架构成熟,性能良好,运行稳定。Spring的IOC容器负责管理业务逻辑组件、持久层组件及控制层组件,这样可以充分利用Spring的依赖注入的优势,进一步增强系统的解耦性,从而提高应用的可扩展性,降低系统重构的成本。
![](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288579453518.jpg)
这里详细介绍了一个完整的JavaEE项目:人事管理系统,在此基础上可以扩展出企业的HRM系统、OA系统等。因为企业平台本身的复杂性,所以本项目涉及的表达到6个,而且各个模块的业务逻辑也比较复杂,这些对初学者可能有一定难度, 但只要读者先认真阅读本书前面所介绍的知识,并结合上述的讲解,再配合资源文件中的案例代码,则一定可以掌握这里所介绍的内容,也是将理论知识应用到实际开发的典范
## 结局:总结+分享
看完美团、字节、腾讯这三家的一二三面试问题,是不是感觉问的特别多,可能咱们真的又得开启面试造火箭、工作拧螺丝的模式去准备下一次的面试了。
开篇有提及我可是足足背下了**Java互联网工程师面试1000题**,多少还是有点用的呢,换汤不换药,不管面试官怎么问你,抓住本质即可!能读到此处的都是真爱,所以福利也为你准备,这份1000题免费送你!**[点击这里免费领取](https://docs.qq.com/doc/DSmxTbFJ1cmN1R2dB)**
* **Java互联网工程师面试1000题**
![image.png](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288579880617.jpg)
而且从上面三家来看,算法与数据结构是必备不可少的呀,因此我建议大家可以去刷刷这本左程云大佬著作的 《程序员代码面试指南 IT名企算法与数据结构题目最优解》,里面近200道真实出现过的经典代码面试题。
* **程序员代码面试指南--IT名企算法与数据结构题目最优解**
![image.png](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288580277786.jpg)
* 其余像设计模式,建议可以看看下面这4份PDF(已经整理)
![image.png](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288581387998.jpg)
* 更多的Java面试学习笔记如下,关于面试这一块,我额外细分出Java基础-中级-高级开发的面试+解析,以及调优笔记等等等。。。
![image.png](http://www.www.zyiz.net/i/li/?n=2&i=images/20210703/1625288581120233.jpg)
以上所提及的全部Java面试学习的PDF及笔记,如若皆是你所需要的,那么都可发送给你!
这篇关于Java安装后续步骤,最全Java知识总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!