Hey, Nice to meet You. 

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

11 2020 档案

摘要:1、前言 前面的十几篇文章都单独的总结了Mybatis在开发中的相关技术,但在实际开发中一般都是和Spring进行整合开发的,而Spring框架相信大家已经非常熟悉了,通过Spring的IOC/DI,能帮助我们完成对象的创建,对象之间的依赖,并且管理对象的声明周期,而Spring的AOP也能帮助我们 阅读全文
posted @ 2020-11-22 20:59 唐浩荣 阅读(624) 评论(0) 推荐(0)
摘要:1、前言 在前面学习mybatis的时候,会经常对数据进行增删改查操作,使用最多的是对数据库进行查询操作,但是前面都是简单的案例,所以查询的数据量不是很大,自然查询时没有任何压力,但是如果在实际的项目中,数据库的数据成千上万,如果还是这样一次性查询出所有数据,那么会导致数据可读性和数据库性能极差。所 阅读全文
posted @ 2020-11-22 15:23 唐浩荣 阅读(10615) 评论(2) 推荐(2)
摘要:1、什么是逆向工程 Mybatis的逆向工程就是由代码生成器生成我们需要的代码和映射文件。我们在编写Mybatis程序时,基本都是围绕着pojo类,Mapper接口,Mapper.xml文件等文件来进行的。如果实际开发中数据库的表特别多,那么我们需要手动去写每一张表的pojo类,Mapper接口,M 阅读全文
posted @ 2020-11-21 20:22 唐浩荣 阅读(5281) 评论(1) 推荐(2)
摘要:1、什么是Mybatis缓存 缓存就是将数据暂时存储在内存或硬盘中,当在查询数据时,如果缓存中有相同的数据就直接从缓存读取而不从数据库读取,从而减少Java应用与数据库的交互次数,这样就提升了程序的执行效率。比如查询 id = 1 的对象,第一次查询出对象之后会自动将该对象报存到缓存中,当下一次查询 阅读全文
posted @ 2020-11-20 23:38 唐浩荣 阅读(1109) 评论(1) 推荐(1)
摘要:1、N+1问题 N+1问题主要是针对分步查询,分步查询就是使用association或collection标签中的select属性来执行另外一个 SQL 映射语句来返回预期的复杂类型,例如: <association property="department" column="department_ 阅读全文
posted @ 2020-11-18 23:04 唐浩荣 阅读(883) 评论(0) 推荐(2)
摘要:1、案例分析 多对多映射其实就是一个双向的一对多映射,因为两边都是一对多。多对多主要是关联关系要找好,然后根据关联去查询。 由于前面的案例员工和部门一方是一对一,一方是一对多,所以不能形成多对多的条件,我重新换了一个案例——用户和角色。 一个用户可以拥有多个角色,User—>Role(一对多)。 一 阅读全文
posted @ 2020-11-17 22:31 唐浩荣 阅读(1374) 评论(1) 推荐(1)
摘要:1、案例分析 继续接着上一章来,案例:一个部门可以包含多个员工;Department—>Employee(一对多)。一对多映射用到的resultMap标签中的collection子标签。它的属性和association标签基本一致,可以参考上一章的内容:链接 。下面我们就通过代码来实现一对多映射。 阅读全文
posted @ 2020-11-17 19:04 唐浩荣 阅读(645) 评论(0) 推荐(0)
摘要:1、前言 在前面SQL映射文件的介绍中,说到resultMap元素中有两个标签是用来做关联查询操作的,也就是一对一,一对多,对应到Mybatis中的标签分别是association和collection标签。它们在实际的项目中,会经常用到关联表的查询,因为实际的项目中不可能是对单表的查询,经常会有一 阅读全文
posted @ 2020-11-16 22:11 唐浩荣 阅读(1206) 评论(2) 推荐(2)
摘要:1、动态SQL介绍 在使用传统的JDBC来编写代码时,很多时候需要去拼接SQL,这是一件很麻烦的事情,因为有些查询需要许多的条件,比如在查询用户时,需要根据用户名,年龄,性别或地址等信息进行查询,当不需要用户名查询时却依然使用用户名作为条件查询就不合适了,而如果使用大量的Java进行判断,那么代码的 阅读全文
posted @ 2020-11-12 22:58 唐浩荣 阅读(980) 评论(0) 推荐(3)
摘要:1、本章前言 我们都知道注解能够帮我们减少大量的代码和配置,基本上每个人都喜欢用注解进行配置,包括我自己,因为实在太方便了。但是Mybatis是一个特例,因为Mybatis使用注解的话,如果SQL复杂点会导致可读性极差,所以Mybatis一般都不推荐使用注解实现,推荐使用基于Mapper接口的xml 阅读全文
posted @ 2020-11-12 19:29 唐浩荣 阅读(1796) 评论(0) 推荐(0)
摘要:1、本章前言 前面学习了基于原生接口的xml版本创建Mybatis实例( 链接 ),就是通过sqlSession对象调用其内部定义好的相对应的方法,包括增删改查方法,如selectOne、selectList、insert等等,但这种方式在实际中很少使用,不推荐。所以下面我们来学习一种在我们平时开发 阅读全文
posted @ 2020-11-11 16:50 唐浩荣 阅读(1790) 评论(0) 推荐(0)
摘要:1、映射器元素 映射器是Mybatis中最复杂并且是最重要的组件。它由一个接口和xml映射文件(或者注解)组成。在映射器中我们可以配置各类SQL、动态SQL、缓存、存储过程、级联等复杂的内容。并且通过简易的映射规则映射到指定的POJO或者其它对象上,映射器能有效的消除JDBC的底层代码。在Mybat 阅读全文
posted @ 2020-11-10 18:40 唐浩荣 阅读(1508) 评论(0) 推荐(0)
摘要:1、全局配置文件 前面我们看到的Mybatis全局文件并没有全部列举出来,所以这一章我们来详细的介绍一遍,Mybatis的全局配置文件并不是很复杂,它的所有元素和代码如下所示: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuratio 阅读全文
posted @ 2020-11-07 22:25 唐浩荣 阅读(1773) 评论(0) 推荐(1)
摘要:1、前言 上一章介绍了Spring IOC容器的设计与实现,同时也讲到了高级容器ApplicationContext中有个refresh()方法,执行了这个方法标志着 IOC 容器正式启动,简单来说,IOC 容器的初始化是由refresh()方法来启动的。而在Spring IOC 容器启动的过程中, 阅读全文
posted @ 2020-11-05 21:23 唐浩荣 阅读(5757) 评论(0) 推荐(11)
摘要:1、本章前言 在上一章简单介绍了什么是Mybatis,它封装的有哪些重要的组件以及它的使用步骤,所以这一章就来编写一个Mybatis的入门实例。首先说明一点:MyBatis 的使用分为三个版本: 基于原生接口的XML版本。 基于Mapper接口的XML版本。 基于Java 注解版本。 一般推荐基于 阅读全文
posted @ 2020-11-04 20:47 唐浩荣 阅读(1417) 评论(0) 推荐(1)
摘要:1、什么是Mybatis MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由Apache Software Foundation迁移到了Google Code,并且改名为MyBatis,也就是从3.0版本开始 iBatis改名为MyBatis。并且于2013年11月迁移到 阅读全文
posted @ 2020-11-03 20:24 唐浩荣 阅读(3186) 评论(0) 推荐(4)
摘要:1、Spring IOC容器的设计 我们知道,在Spring中实现控制反转的是IoC容器,所以对于 IoC 来说,最重要的就是容器。因为容器管理着 Bean 的生命周期,控制着 Bean 的依赖注入。那么, 在Spring框架中是如何设计容器的呢?我们来看一下:Spring IoC 容器的设计主要是 阅读全文
posted @ 2020-11-02 12:23 唐浩荣 阅读(6389) 评论(2) 推荐(14)