09 2022 档案

摘要:这是我在刷面试题的时候遇到的一个使用方法,之前甚至对这种方法闻所未闻,不禁感慨自己的才疏学浅。 闲话少说,直接进入正题。 具体的使用就是在需要跳出的循环结构前面加一个标记(如outfor),我们只需要break outfor就可以直接跳出我们所标记的循环结构。 public class outFor 阅读全文
posted @ 2022-09-30 14:39 谁知道水烫不烫 阅读(46) 评论(0) 推荐(0) 编辑
摘要:一、什么是事务 事务就是一系列的业务逻辑的操作,必须要全部执行成功,否则每个操作所执行的内容都要撤销。 二、事务的四大特性 1.原子性(atomicity):事务虽然有一系列的操作,但要把它看作一个整体(单一原子),要么都成功,要么都失败; 2.一致性(consistency):事务必须是使数据库从 阅读全文
posted @ 2022-09-29 19:34 谁知道水烫不烫 阅读(105) 评论(0) 推荐(0) 编辑
摘要:在学习之前,我们先了解一个网站mybatis-spring,这是mybatis-spring整合的官方文档,里面有详细的教程,网址如下: https://mybatis.org/spring/zh/index.html 一、什么是mybatis-spring 以下是mybatis-spring官方给 阅读全文
posted @ 2022-09-29 17:09 谁知道水烫不烫 阅读(355) 评论(0) 推荐(0) 编辑
摘要:一、什么是AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以 阅读全文
posted @ 2022-09-29 11:29 谁知道水烫不烫 阅读(141) 评论(0) 推荐(0) 编辑
摘要:Spring中AOP的底层原理就是动态代理模式,所以我们在这里对代理模式进行学习。 一、代理模式 1.什么是代理 代理,顾名思义,就是一个人代替另一个人去做他需要做的事情。代理是一种设计模式,具体实现就是一个类代替某个类去实现功能。 我们举一个例子: 我要租房子,我可以找房东直接租房子。同样我可以找 阅读全文
posted @ 2022-09-27 18:52 谁知道水烫不烫 阅读(622) 评论(0) 推荐(0) 编辑
摘要:上一篇文章我们学习了使用注解开发,但还没有完全脱离xml的配置,现在我们来学习JavaConfig配置来代替xml的配置,实现完全注解开发。 下面我们用一个简单的例子来进行学习。 一、首先建立两个实体类 User: package com.jms.pojo; import org.springfra 阅读全文
posted @ 2022-09-26 19:01 谁知道水烫不烫 阅读(227) 评论(0) 推荐(0) 编辑
摘要:一、导包(添加依赖) 在Spring4之后,想要使用注解就必须要导入spring-aop这个包,这里我直接添加的spring-webmvc,其中包含了我们需要的包。 maven:spring-webmvc <dependency> <groupId>org.springframework</grou 阅读全文
posted @ 2022-09-26 14:51 谁知道水烫不烫 阅读(125) 评论(0) 推荐(0) 编辑
摘要:上一篇文章我们已经学习了Bean的自动装配,是在xml文件中配置autowire来实现的,现在我们来学习一下通过注解来实现自动装配。 一、使用注解需要的准备工作 使用注解在xml配置文件中导入约束并配置对注解的支持: <?xml version="1.0" encoding="UTF-8"?> <b 阅读全文
posted @ 2022-09-26 10:35 谁知道水烫不烫 阅读(690) 评论(0) 推荐(0) 编辑
摘要:一、Bean装配的方式 在Spring中Bean有三种装配的方式: 1.在xml中显式的配置。 2.在java中显式的配置。 3.隐式的自动装配。 前面我们一直在用的都是第一种xml中的配置,这里我们来学习第三种隐式的自动装配。 二、什么是自动装配 自动装配是Spring满足Bean依赖的一种方式, 阅读全文
posted @ 2022-09-25 10:46 谁知道水烫不烫 阅读(410) 评论(0) 推荐(0) 编辑
摘要:Spring框架支持六个作用域,其中四个只有在Web中才能用到,在此我们只说明前两种作用域。 下面是所有的六种作用域: ScopeDescription singleton (Default) Scopes a single bean definition to a single object in 阅读全文
posted @ 2022-09-24 20:24 谁知道水烫不烫 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、什么是DI依赖注入 依赖关系注入 (DI) 是一个过程,通过该过程,对象仅通过构造函数参数、工厂方法的参数或在构造对象实例或从工厂方法返回后在对象实例上设置的属性来定义其依赖关系(即,使 用它们使用的其他对象)。然后,容器在创建 Bean 时注入这些依赖项。这个过程基本上是Bean本身的反函数( 阅读全文
posted @ 2022-09-23 09:33 谁知道水烫不烫 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一、bean <bean id="user" class="com.jms.pojo.User" name="aaa,bbb"> <constructor-arg name="name" value="jms"/> </bean> bean有三个属性: 1. id:bean的唯一标识符; 2. cl 阅读全文
posted @ 2022-09-20 08:47 谁知道水烫不烫 阅读(61) 评论(0) 推荐(0) 编辑
摘要:一、bean被创建的时间 考虑一个问题,我们都知道spring通过xml的配置创建bean,那么bean是什么时间被创建的呢?是在我们getBean()的时候创建的吗? 我们来做一个测试: 1.首先建立一个User类: package com.jms.pojo; public class User 阅读全文
posted @ 2022-09-19 15:56 谁知道水烫不烫 阅读(128) 评论(0) 推荐(0) 编辑
摘要:上一篇学习了控制反转(IoC)的本质和具体实现方法,这次我们就学习写一个小的项目来体验这个过程。 一、项目构建 1.Maven依赖(导包) <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework/sprin 阅读全文
posted @ 2022-09-19 14:09 谁知道水烫不烫 阅读(82) 评论(0) 推荐(0) 编辑
摘要:一、图例 对照上面的图,我们回想上一篇中几个代码的实现,在没有set注入之前,代码运行完全由Service层控制,用户没有选择权,选择权在程序员手中;但是使用set注入之后,用户可以主动控制service层要执行带代码,具体执行由用户自己选择。 二、本质 控制反转(IoC)是一种设计思想,DI(De 阅读全文
posted @ 2022-09-19 09:05 谁知道水烫不烫 阅读(117) 评论(0) 推荐(0) 编辑
摘要:在Spring的简介中我们知道了Spring的核心是控制反转(IoC:Inverse of Control)和面向切面编程(AOP:Aspect Oriented Programming),我们不直接对IoC进行学习,而是先学习IoC的理论推导。 这是我一个maven项目的结构。 UserDao: 阅读全文
posted @ 2022-09-18 21:32 谁知道水烫不烫 阅读(78) 评论(0) 推荐(0) 编辑
摘要:一、什么是Spring 广义上的 Spring 泛指以 Spring Framework 为核心的 Spring 技术栈。 经过十多年的发展,Spring 已经不再是一个单纯的应用框架,而是逐渐发展成为一个由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring 阅读全文
posted @ 2022-09-18 17:47 谁知道水烫不烫 阅读(90) 评论(0) 推荐(0) 编辑
摘要:首先来思考一下,在开启了二级缓存的情况下,一个用户查询数据经历的过程是什么样的。 我们看一下,下面这张图: 用户先去二级缓存中去寻找数据,如果找不到再去一级缓存寻找数据,如果还是找不到那么去数据库中进行查询。 我么具体来看一下: @Test public void getUserById() { S 阅读全文
posted @ 2022-09-18 14:43 谁知道水烫不烫 阅读(66) 评论(0) 推荐(0) 编辑
摘要:上一篇我们学习了一级缓存,这次我们来学习二级缓存。 一、什么是二级缓存 二级缓存也叫全局缓存,是namespace级别的缓存,每一个命名空间对应一个二级缓存。 二、二级缓存的工作机制 1.每个SqlSession对应一个一级缓存。 2.当SqlSession关闭时,对应的一级缓存就会消失,但是如果我 阅读全文
posted @ 2022-09-18 09:53 谁知道水烫不烫 阅读(282) 评论(0) 推荐(0) 编辑
摘要:MyBatis的缓存分为一级缓存和二级缓存。 先看一下MyBatis官方文档给出的说明: MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。 默认情况下,只启用了本地的会话缓存,它仅 阅读全文
posted @ 2022-09-17 18:53 谁知道水烫不烫 阅读(112) 评论(0) 推荐(0) 编辑
摘要:前面我们已经学习了动态SQL的if、where、set、choose(when,otherwise),今天我们来学习剩下的foreach。 什么时候用到foreach呢?比如说我们要查询一个表中id为1,3,4的数据,我们应该写SQL语句为: select * from TABLE where (i 阅读全文
posted @ 2022-09-17 17:14 谁知道水烫不烫 阅读(463) 评论(0) 推荐(0) 编辑
摘要:一、什么是SQL片段 就是将我们Mapper.xml文件中部分SQL语句拿出来单独用一个sql标签进行标记,这个sql标签就是一个SQL片段。 二、为什么要用到SQL片段 这个sql标签可以被引用,这样需要用到这个sql标签中的SQL语句的地方直接引用就可以,如此一来就提高了SQL代码的复用性,而不 阅读全文
posted @ 2022-09-17 16:33 谁知道水烫不烫 阅读(282) 评论(0) 推荐(0) 编辑
摘要:在上一篇if中我们已经把if和where标签进行了学习,现在我们学习一些剩下的标签。 一、set标签 首先看官方文档给出的说明: 用于动态更新语句的类似解决方案叫做 set。set 元素可以用于动态包含需要更新的列,忽略其它不更新的列。 set 元素会动态地在行首插入 SET 关键字,并会删掉额外的 阅读全文
posted @ 2022-09-17 14:42 谁知道水烫不烫 阅读(466) 评论(0) 推荐(0) 编辑
摘要:一、什么是动态SQL之if语句 if很简单了,就是满足条件就执行,不满足条件不执行。 那么动态SQL中的if语句是怎么样的呢? 首先我们来看一张表blog: 如果我们执行下面的SQL语句: select * from blog 肯定会将所有的数据都查出来。那么我们可以在后面加上where条件进行筛选 阅读全文
posted @ 2022-09-16 13:18 谁知道水烫不烫 阅读(1305) 评论(0) 推荐(1) 编辑
摘要:一、什么是动态SQL 官方文档给出了这样的说明: 动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱 阅读全文
posted @ 2022-09-16 11:29 谁知道水烫不烫 阅读(75) 评论(0) 推荐(0) 编辑
摘要:在MyBatis的映射中有column这么一个属性,我一直以为它映射的是数据库表中的列名,但经过学习发现他似乎映射的是SQL语句中的列名,或者说是查询结果所得到的表的列名。 下面我们进行一个实验。 首先我们有一张user表: 我还有一个实体类User,有着id、username、password三个 阅读全文
posted @ 2022-09-16 08:12 谁知道水烫不烫 阅读(323) 评论(0) 推荐(0) 编辑
摘要:上一篇我们学习了多对一的处理,这次我们来学习一对多的处理。 一对多的处理与多对一的处理差别不大,只是有一些细微的地方需要注意。 我们还是先做准备工作,其他部分与多对一的准备工作相同,仅实体类构建需要做出改变。 一、修改实体类 Student类: package com.jms.pojo; publi 阅读全文
posted @ 2022-09-15 22:14 谁知道水烫不烫 阅读(140) 评论(0) 推荐(0) 编辑
摘要:现在我们就开始更加深入的学习了,今天我们要学习的是多对一的处理。 在正式开始之前我们需要做一些准备工作。 一、在数据库建立两张新的表并插入数据 CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NUL 阅读全文
posted @ 2022-09-15 18:02 谁知道水烫不烫 阅读(87) 评论(0) 推荐(0) 编辑
摘要:一、什么是@Param()注解 我们来举个简单的例子,拿我们上一篇中查找的例子来说。 先看原来的代码: @Select("select * from user where id=#{id}") User getUserByID(int id); 很明显,这是一句根据id来进行查找的方法,我们去具体的 阅读全文
posted @ 2022-09-15 09:33 谁知道水烫不烫 阅读(1545) 评论(0) 推荐(0) 编辑
摘要:接上一篇,我们上一篇说到了不配置Mapper.xml文件,直接在接口中使用注解进行映射,这里我们将简单的增删改查全部用注解实现一遍。 一、设置自动提交事务 在去实现之前,我们先想一下我们前面实行增删改的事务时,每次都要手动提交事务,那么有没有什么方法可以自动提交呢,答案是有的。 修改我们的工具类My 阅读全文
posted @ 2022-09-15 08:32 谁知道水烫不烫 阅读(347) 评论(0) 推荐(0) 编辑
摘要:一、什么是使用注解开发 使用注解开发就是无需再配置Mapper.xml文件,直接在接口中利用注解实现SQL语句。 二、为什么要使用注解开发 正如官方文档所说: 使用注解来映射简单语句会使代码显得更加简洁。 但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句更加混乱 阅读全文
posted @ 2022-09-14 22:50 谁知道水烫不烫 阅读(153) 评论(0) 推荐(0) 编辑
摘要:首先说明一下,这种涉及了在MyBatis(二)中说的那个第二种老方法,所以一般不推荐使用。 上一篇我们利用SQL的limit实现了分页,是在SQL层面的,那么这次我们利用java代码RowBounds来实现。直接上操作。 一、RowBounds实现分页 1.在UserMapper接口中声明一个新的方 阅读全文
posted @ 2022-09-14 17:22 谁知道水烫不烫 阅读(1191) 评论(0) 推荐(0) 编辑
摘要:一、SQL中limit的基本用法 我们先来熟悉SQL中limit的基本用法 这是我现有的表结构 然后进行limit查询 1. select * from user limit 3,4 这句SQL语句的意思是查询user表,跳过前3行,也就是从第四行开始查询4行数据。查询结果如下: 2. select 阅读全文
posted @ 2022-09-14 16:20 谁知道水烫不烫 阅读(2069) 评论(0) 推荐(0) 编辑
摘要:MyBatis 通过使用内置的日志工厂提供日志功能。 在这里我们对STDOUT_LOGGING和LOG4J进行学习。 一、STDOUT_LOGGING 1.什么是STDOUT_LOGGING STDOUT_LOGGING是MyBatis的标准日志配置。STDOUT_LOGGING的使用无需其他的依赖 阅读全文
posted @ 2022-09-14 15:02 谁知道水烫不烫 阅读(150) 评论(0) 推荐(0) 编辑
摘要:一、什么是结果集映射 这里我们直接看MyBatis官方文档给出的内容: 结果映射 resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些 阅读全文
posted @ 2022-09-14 10:52 谁知道水烫不烫 阅读(234) 评论(0) 推荐(0) 编辑
摘要:直接看官方文档内容: 作用域(Scope)和生命周期 理解我们之前讨论过的不同作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。 SqlSessionFactoryBuilder 这个类可以被实例化、使用和丢弃,一旦创建了 SqlSessionFactory,就不再需要它了。 阅读全文
posted @ 2022-09-09 09:27 谁知道水烫不烫 阅读(44) 评论(0) 推荐(0) 编辑
摘要:首先我们直接看官方给出的文档: 映射器(mappers) 既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 阅读全文
posted @ 2022-09-09 09:07 谁知道水烫不烫 阅读(64) 评论(0) 推荐(0) 编辑
摘要:一、为什么要进行类型别名优化 首先我们来看一下前面写的UserMapper.xml配置文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "h 阅读全文
posted @ 2022-09-09 08:28 谁知道水烫不烫 阅读(182) 评论(0) 推荐(1) 编辑
摘要:一、什么是配置之属性优化 在解答这个问题之前我们应该先明白MyBatis的配置有哪些? 官方文档中文网:配置_MyBatis中文网。 我们还是直接看官方文档中给出的内容: MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。 配置文档的顶层结构如下: configura 阅读全文
posted @ 2022-09-08 17:50 谁知道水烫不烫 阅读(182) 评论(0) 推荐(0) 编辑
摘要:一、Map的使用 前面我们在Mapper接口的方法中,传入的参数都是一个基本类型或者是一个实体类,那么如果我们需要的参数不止一个但又用不到实体类所有的属性有没有什么更好的办法呢,这里我们就可以用到Map了。 我们还是以具体的操作来进行理解。 1.利用Map实现查询 (1)修改UserMapper接口 阅读全文
posted @ 2022-09-08 10:53 谁知道水烫不烫 阅读(426) 评论(2) 推荐(0) 编辑
摘要:在MyBatis(二)的学习中我们已经实现了第一个MyBatis程序,现在我们要实现增删改查的完整操作,我们应该思考我们需要去修改哪些内容呢? 修改三个内容:Mapper接口、对应Mapper接口的xml配置文件、测试类。 一、查询 我们尝试一个根据id查询一个用户的信息。 1.修改UserMapp 阅读全文
posted @ 2022-09-08 09:53 谁知道水烫不烫 阅读(127) 评论(0) 推荐(0) 编辑
摘要:在MyBatis的第一篇的学习中我们了解了MyBatis是什么和为什么学习MyBatis,本次我们将学习MyBatis的具体使用。 思路:环境搭建——>MyBatis导入——>代码编写——>测试。 一、环境搭建 1.建立数据库 CREATE DATABASE `MyBaties`; CREATE T 阅读全文
posted @ 2022-09-08 08:29 谁知道水烫不烫 阅读(100) 评论(0) 推荐(0) 编辑
摘要:学习一个新的内容,我认为还是需要从是什么、为什么、怎么做(怎么用)三个点进行切入,下面我就以此三点对Mybatis进行学习。 一、Mybatis是什么 1.Mybatis简介 MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache software foundat 阅读全文
posted @ 2022-09-07 09:32 谁知道水烫不烫 阅读(78) 评论(0) 推荐(0) 编辑
摘要:问题描述: div宽度溢出问题,div设置margin和padding后宽度出现溢出。 解决方式: css中添加如下代码: * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; 阅读全文
posted @ 2022-09-04 09:39 谁知道水烫不烫 阅读(14) 评论(0) 推荐(0) 编辑
摘要:1.什么是jquery,什么是ajax jquery是一套开放性源代码的JavaScript函数库,简化了DOM文件的操作,让我们轻松选取对象,并以简洁的程序完成想要的效果。此外jquery也强化了异步传输(ajax)的功能,我们在这里就是要用到它的这一项功能。 Ajax即Asynchronous  阅读全文
posted @ 2022-09-02 10:41 谁知道水烫不烫 阅读(101) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示