Hey, Nice to meet You. 

必有过人之节.人情有所不能忍者,匹夫见辱,拔剑而起,挺身而斗,此不足为勇也,天下有大勇者,猝然临之而不惊,无故加之而不怒.此其所挟持者甚大,而其志甚远也.          ☆☆☆所谓豪杰之士,

随笔分类 -  【框架】--MyBatis

摘要:1、整合前言 本文是一个简单的SSM整合案例,基于RESTful风格,主要是简单记录一下学习笔记。 开发的相关环境: JDK:1.8 Spring:5.2.7.RELEASE Mybatis:3.5.3 MySQL数据库 Druid连接池 数据库源文件: -- -- Table structure 阅读全文
posted @ 2021-06-21 16:14 唐浩荣 阅读(1238) 评论(1) 推荐(3) 编辑
摘要:文章转载自:http://www.crazyant.net/2022.html 文章作者:蚂蚁学Python 1、前言 虽然我们都知道有26个设计模式,但是大多停留在概念层面,真实开发中很少遇到,Mybatis源码中使用了大量的设计模式,阅读源码并观察设计模式在其中的应用,能够更深入的理解设计模式。 阅读全文
posted @ 2020-12-08 22:53 唐浩荣 阅读(612) 评论(0) 推荐(1) 编辑
摘要:1、SqlSession下的四大对象介绍 通过前面的分析,我们应该知道在Mybatis中的,首先是通过SqlSessionFactoryBuilder加载全局配置文件(包括SQL映射器),这些配置都会封装在Configuration中,其中每一条SQL语句的信息都会封装在MappedStatemen 阅读全文
posted @ 2020-12-07 23:02 唐浩荣 阅读(3953) 评论(1) 推荐(3) 编辑
摘要:1、写在前面 前两章分别介绍了SqlSessionFactory和SqlSession的构建过程,然后就可以通过SqlSession来获取Mapper对象了,所以这章来学习Mapper接口是如何通过动态代理来创建对象的。 2、Mapper动态代理 ①、程序入口: ②、SqlSession的实现类为D 阅读全文
posted @ 2020-12-06 22:09 唐浩荣 阅读(803) 评论(0) 推荐(0) 编辑
摘要:1、SqlSession的构建过程 在上一章,详细的介绍了SqlSessionFactory的构建过程,它是用来获取SqlSession对象的,所以本章节就主要讲述SqlSession的构建过程。 程序代码的入口: 我们知道SqlSession对象是通过SqlSessionFactory的openS 阅读全文
posted @ 2020-12-04 20:18 唐浩荣 阅读(595) 评论(0) 推荐(0) 编辑
摘要:1、写在前面 前面的一系列文章已经详细的介绍了Mybatis的各种使用方法,所以这章我们来更加深入的了解Mybatis,讲述一下Mybatis的内部解析与运行原理,但是这章所讲的只涉及基本的框架和核心代码,并不会面面俱到,所以本章中的一些细节将会被忽略掉,需要仔细研究的可以自行查阅相关书籍或者问度娘 阅读全文
posted @ 2020-12-03 22:58 唐浩荣 阅读(1545) 评论(0) 推荐(0) 编辑
摘要:1、前言 前面的十几篇文章都单独的总结了Mybatis在开发中的相关技术,但在实际开发中一般都是和Spring进行整合开发的,而Spring框架相信大家已经非常熟悉了,通过Spring的IOC/DI,能帮助我们完成对象的创建,对象之间的依赖,并且管理对象的声明周期,而Spring的AOP也能帮助我们 阅读全文
posted @ 2020-11-22 20:59 唐浩荣 阅读(562) 评论(0) 推荐(0) 编辑
摘要:1、前言 在前面学习mybatis的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,但是前面都是简单的案例,所以查询的数据量不是很大,自然查询时没有任何压力,但是如果在实际的项目中,数据库的数据成千上万,如果还是这样一次性查询出所有数据,那么会导致数据可读性和数据库性能极差。所 阅读全文
posted @ 2020-11-22 15:23 唐浩荣 阅读(9059) 评论(2) 推荐(2) 编辑
摘要:1、什么是逆向工程 Mybatis的逆向工程就是由代码生成器生成我们需要的代码和映射文件。我们在编写Mybatis程序时,基本都是围绕着pojo类,Mapper接口,Mapper.xml文件等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的pojo类,Mapper接口,M 阅读全文
posted @ 2020-11-21 20:22 唐浩荣 阅读(4811) 评论(1) 推荐(1) 编辑
摘要:1、什么是逆向工程 Mybatis的逆向工程就是由代码生成器生成我们需要的代码和映射文件。我们在编写Mybatis程序时,基本都是围绕着pojo类,Mapper接口,Mapper.xml文件等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的pojo类,Mapper接口,M 阅读全文
posted @ 2020-11-21 20:22 唐浩荣 阅读(4811) 评论(1) 推荐(1) 编辑
摘要:1、什么是Mybatis缓存 缓存就是将数据暂时存储在内存或硬盘中,当在查询数据时,如果缓存中有相同的数据就直接从缓存读取而不从数据库读取,从而减少Java应用与数据库的交互次数,这样就提升了程序的执行效率。比如查询 id = 1 的对象,第一次查询出对象之后会自动将该对象报存到缓存中,当下一次查询 阅读全文
posted @ 2020-11-20 23:38 唐浩荣 阅读(992) 评论(1) 推荐(1) 编辑
摘要:1、N+1问题 N+1问题主要是针对分步查询,分步查询就是使用association或collection标签中的select属性来执行另外一个 SQL 映射语句来返回预期的复杂类型,例如: <association property="department" column="department_ 阅读全文
posted @ 2020-11-18 23:04 唐浩荣 阅读(758) 评论(0) 推荐(2) 编辑
摘要:1、案例分析 多对多映射其实就是一个双向的一对多映射,因为两边都是一对多。多对多主要是关联关系要找好,然后根据关联去查询。 由于前面的案例员工和部门一方是一对一,一方是一对多,所以不能形成多对多的条件,我重新换了一个案例——用户和角色。 一个用户可以拥有多个角色,User—>Role(一对多)。 一 阅读全文
posted @ 2020-11-17 22:31 唐浩荣 阅读(1230) 评论(1) 推荐(1) 编辑
摘要:1、案例分析 继续接着上一章来,案例:一个部门可以包含多个员工;Department—>Employee(一对多)。一对多映射用到的resultMap标签中的collection子标签。它的属性和association标签基本一致,可以参考上一章的内容:链接 。下面我们就通过代码来实现一对多映射。 阅读全文
posted @ 2020-11-17 19:04 唐浩荣 阅读(569) 评论(0) 推荐(0) 编辑
摘要:1、前言 在前面SQL映射文件的介绍中,说到resultMap元素中有两个标签是用来做关联查询操作的,也就是一对一,一对多,对应到Mybatis中的标签分别是association和collection标签。它们在实际的项目中,会经常用到关联表的查询,因为实际的项目中不可能是对单表的查询,经常会有一 阅读全文
posted @ 2020-11-16 22:11 唐浩荣 阅读(1016) 评论(2) 推荐(2) 编辑
摘要:1、动态SQL介绍 在使用传统的JDBC来编写代码时,很多时候需要去拼接SQL,这是一件很麻烦的事情,因为有些查询需要许多的条件,比如在查询用户时,需要根据用户名,年龄,性别或地址等信息进行查询,当不需要用户名查询时却依然使用用户名作为条件查询就不合适了,而如果使用大量的Java进行判断,那么代码的 阅读全文
posted @ 2020-11-12 22:58 唐浩荣 阅读(864) 评论(0) 推荐(3) 编辑
摘要:1、本章前言 我们都知道注解能够帮我们减少大量的代码和配置,基本上每个人都喜欢用注解进行配置,包括我自己,因为实在太方便了。但是Mybatis是一个特例,因为Mybatis使用注解的话,如果SQL复杂点会导致可读性极差,所以Mybatis一般都不推荐使用注解实现,推荐使用基于Mapper接口的xml 阅读全文
posted @ 2020-11-12 19:29 唐浩荣 阅读(1629) 评论(0) 推荐(0) 编辑
摘要:1、本章前言 前面学习了基于原生接口的xml版本创建Mybatis实例( 链接 ),就是通过sqlSession对象调用其内部定义好的相对应的方法,包括增删改查方法,如selectOne、selectList、insert等等,但这种方式在实际中很少使用,不推荐。所以下面我们来学习一种在我们平时开发 阅读全文
posted @ 2020-11-11 16:50 唐浩荣 阅读(1456) 评论(0) 推荐(0) 编辑
摘要:1、映射器元素 映射器是Mybatis中最复杂并且是最重要的组件。它由一个接口和xml映射文件(或者注解)组成。在映射器中我们可以配置各类SQL、动态SQL、缓存、存储过程、级联等复杂的内容。并且通过简易的映射规则映射到指定的POJO或者其它对象上,映射器能有效的消除JDBC的底层代码。在Mybat 阅读全文
posted @ 2020-11-10 18:40 唐浩荣 阅读(1298) 评论(0) 推荐(0) 编辑
摘要:1、全局配置文件 前面我们看到的Mybatis全局文件并没有全部列举出来,所以这一章我们来详细的介绍一遍,Mybatis的全局配置文件并不是很复杂,它的所有元素和代码如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuratio 阅读全文
posted @ 2020-11-07 22:25 唐浩荣 阅读(1476) 评论(0) 推荐(1) 编辑