Java开发面经分享:kafka批量消费其中一条业务出错 柔光的暖阳◎ 2021-07-20 15:34 481阅读 0赞 在这里分享一份 \[mybatis从入门到精通\] 的强力教程,定能够助你一臂之力。 ### Mybatis基本介绍 ### 1. ORM和MyBatis 2. 对象/关系数据库映射(ORM) 3. 基本映射方式 4. 流行的ORM框架简介 目前流行的编程语言,例如Java、 C\#等,都是面向对象的编程语言;而目前主流的数据库产品,例如Oracle、DB2等,依然是关系数据库。编程语言和底层数据库的发展不协调,催生出了ORM框架,ORM框架可作为面向对象编程语言和数据库之间的桥梁。 确切地说,MyBatis 并不完全是一种ORM框架,它的设计思想和ORM相似,只是它允许开发,人员直接编写SQL语句,使得访问数据库更加灵活,更准确地说,它应该是一种“SQL Mapping”框架。 ![11ead25e62d7e7fa8bbbb8524058fdd1.png][] ### Mybatis的体系结构 ### 1. SqlSessionFactory 2. SqlSession 3. MyBatis的配置文件结构 4. settings设置 5. typeAliases类型命名 6. typeHandlers类型处理器 7. objectFactory对象工厂 8. environments配置环境 9. mapper映射器 通过前面的介绍可以知道,MyBatis 的持久化解决方案将用户从原始的JDBC访问中解放出来,用户只需要定义需要操作的SQL语句,无须关注底层的JDBC操作,就可以面向对象的方式进行持久层操作。底层数据库连接的获取、数据访问的实现、事务控制等都无须用户关心,从而将应用层从底层的JDBC/JTAAPI抽取出来。通过配置文件管理JDBC连接,让MyBatis解决持久化访问的实现。 MyBatis中的常用对象有SqSessionFactory和SlSession。 ![b52fc7984940fa178120062f5676eb32.png][] ### Mybatis的关联映射和动态SQL ### 1. 一对一 2. 一对多 3. 多对多 4. 动态SQL 关联关系是面向对象分析、面向对象设计最重要的知识,MyBatis完全可以理解这种关联关系,如果映射得当,MyBatis的关联映射将可以大大简化持久层数据的访问。关联关系大致有如下分类。 ![388f73e7203c5cc271f24d3498ce248f.png][] ### Mybatis的事务管理以及缓存机制 ### 1. 事务的概念 2. Transaction接口 3. 事务的配置创建和使用 4. 一级缓存( SqlSession级别) 5. 二级缓存(mapper级别) 每个业务逻辑都是由一系列数据库 访问完成的,这-系列数据库访间可能会修改多条数据记录,这一系列修改应该是一个整体,绝不能仅修改其中的几条数据记录。也就是说,多个数据库原子访问应该被绑定成一个整体,这就是事务。事务是一个最小的逻辑执行单元,整个事务不能分开执行,要么同时执行,要么同时放弃执行。 ![94689dd72eb47e97e0a71fdbfe21dc1e.png][] ### Mybatis注解配置 ### 1. MyBatis常用注解 2. MyBatis注解的插入、修改、删除和查询操作 3. MyBatis注解的一对一、一对多和多对多操作 4. MyBatis注解的动态SQL 前面介绍了MyBatis的基本用法、关联映射、动态SQL和缓存机制等知识,其所有的配置都是使用XML完成,但是大量的XML配置文件的编写是非常繁琐的,因此MyBatis也提供了更加简便的基于注解(annotation) 的配置方式。 ![d0dafc477fcf28352cabc67020fee304.png][] ### Spring4整合Mybatis3 ### 1. 开发环境搭建 2. 准备所需的jar包 3. 准备数据库资源 4. 完成配置文件 5. 持久层功能实现 6. 服务层功能实现 7. 控制层功能实现 8. jsp页面 9. 测试Spring4整合MyBatis3 在实际的项目开发中,我们需要将Spring和MyBatis进行整合,从而使用Spring 依赖注入以减少代码的耦合,使用Spring MVC处理请求并作出响应,使用MyBatis更加简捷地完成数据库操作。这里将重点介绍Spring和MyBatis的整合过程。 ![e94b88f639fd422ee7a4b13265a7a65e.png][] > 文档的最后一部分是项目实战 1. 人事管理系统功能模块设计 2. 人事管理系统持久化组件设计 3. 人事管理系统业务逻辑组件设计 4. Spring MVC整合MyBastis优势 最后将会综合运用前面所介绍的知识来开发一个简单的人事管理 (HRM)系统。该系统包括用户管理、部门管理、职位管理、员工管理、公告管理、下载中心等常用的人事管理系统功能。 本系统采用前面介绍的Java EE架构: Spring MVC + MyBatis3.4,该系统架构成熟,性能良好,运行稳定。Spring的IOC容器负责管理业务逻辑组件、持久层组件及控制层组件,这样可以充分利用Spring的依赖注入的优势,进一步增强系统的解耦性,从而提高应用的可扩展性,降低系统重构的成本。 ![5ddbcde08af9201d8b829d0ce6533a57.png][] 这里详细介绍了一个完整的JavaEE项目:人事管理系统,在此基础上可以扩展出企业的HRM系统、OA系统等。因为企业平台本身的复杂性,所以本项目涉及的表达到6个,而且各个模块的业务逻辑也比较复杂,这些对初学者可能有一定难度, 但只要读者先认真阅读本书前面所介绍的知识,并结合上述的讲解,再配合资源文件中的案例代码,则一定可以掌握这里所介绍的内容,也是将理论知识应用到实际开发的典范 ### 最后 ### 作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料,如果\*\*‘你’**确定好自己未来的道路或者想学习提升自己技术栈、技术知识的小伙伴们**可以[点击这里来获取免费学习资料][Link 1]提升自己(全套面试文档、PDF、进阶架构视频)\*\* ![3e1212e0ca1b11e610a12d0640e4349e.png][] ![6a0cf9071b5bf1a7049f81061feccb11.png][] 套面试文档、PDF、进阶架构视频)\*\* \[外链图片转存中…(img-JKaEiMsA-1625817213358)\] \[外链图片转存中…(img-mtUh017Q-1625817213359)\] # # [11ead25e62d7e7fa8bbbb8524058fdd1.png]: /images/20210720/edf37bf789ff44d2a386a072b321c575.png [b52fc7984940fa178120062f5676eb32.png]: /images/20210720/586ae0de9b6e43fd92ed672721c54d55.png [388f73e7203c5cc271f24d3498ce248f.png]: /images/20210720/3e5f78173444407ebc8b3e54989e330d.png [94689dd72eb47e97e0a71fdbfe21dc1e.png]: /images/20210720/7dae3ccfee1c440ab08684636c9c9151.png [d0dafc477fcf28352cabc67020fee304.png]: /images/20210720/339ee7a1ab4f44c4ac532d60b1a2dd36.png [e94b88f639fd422ee7a4b13265a7a65e.png]: /images/20210720/369be58ff20241cc94b61b8daca5e03b.png [5ddbcde08af9201d8b829d0ce6533a57.png]: /images/20210720/3c75eac4a8ac408eb02a59fc34e5f341.png [Link 1]: https://gitee.com/vip204888/java-p7 [3e1212e0ca1b11e610a12d0640e4349e.png]: /images/20210720/049546d2a36e4fe5a366a58d35d13221.png [6a0cf9071b5bf1a7049f81061feccb11.png]: /images/20210720/0c6ee358754940f8a74b1ae193128e8b.png
还没有评论,来说两句吧...