自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(93)
  • 收藏
  • 关注

原创 Linux常用命令总结(五):压缩和解压缩及进程线程类命令

gzipgunzipgzip 文件zipunzip(功能描述:压缩文件和目录的命令)(功能描述:解压缩文件)tartar -zcvftar -zxvf。

2024-04-26 14:11:42 226

原创 Linux常用命令总结(四):文件权限及相关命令介绍

如果在某个目录中通过指令ll查看文件属性,得到以下结果:drwxr-xr-x. 1 root root 4078 4月 23 22:10 filesdrwxr-xr-x首位d:说明该文件是目录rwxr-xr-x:三个一组,表明该文件的权限情况。该文件对于所有者的同组用户开放读和执行的权限。对于其他用户也开放同样的权限。1说明该目录的链接数为1如果查看到是文件:链接数指的是硬链接个数如果查看的是文件夹:链接数指的是子文件夹个数root说明文件所属用户为root第二个root。

2024-04-25 15:05:29 537

原创 LInux常用命令总结(三):用户管理命令与用户组管理命令

useradd:添加新用户passwd:设置用户密码passwd 用户名id查看用户是否存在:查看创建的所有用户su:切换用户su 用户名称su - 用户名称exit: 回退到上一个用户userdel:删除用户选项who: 查看登录用户信息whoamiwho am isudo:设置普通用户具有root权限sudo 命令。

2024-04-24 13:37:16 300

原创 LInux常用命令总结(二):VIM编辑器

vim就是用来编辑文件的一个工具,类似于我们Windows的文本编辑工具,只不过,这里是命令行形式的,不是图形用户界面形式的。例如,我要对a.txt进行修改,那么命令为vim a.txt。

2024-04-19 13:55:27 451

原创 Linxu常用命令总结(一):开关机命令、服务开关命令与文件目录类命令

本文主要总结并介绍了开关机、服务管理、文件目录管理的相关命令。

2024-04-17 14:35:33 603

原创 二维数组的自定义排序

compare方法是Comparator接口中定义的方法之一,用于比较两个对象的顺序。在Java中,它通常用于排序算法中,以确定元素的顺序。该方法有两个参数,分别是要比较的两个对象,通常被称为o1和o2。它返回一个整数值,表示 o1 和 o2 的比较结果。如果返回值为负数,表示 o1 应该排在 o2 前面。如果返回值为零,表示 o1 和 o2 相等,顺序不变。如果返回值为正数,表示 o1 应该排在 o2 后面。直接看规则可能比较晦涩,这里拿上面的代码进行一个举例。

2024-04-16 16:10:32 442

原创 SpringBoot -- 外部化配置

Spring Boot 允许将配置外部化,以便可以在不同的环境中使用相同的应用程序代码。我们可以使用各种外部配置源,包括Java Properties文件、YAML文件、环境变量和命令行参数。@Value可以获取值,也可以用将所有属性绑定到java object中。以下是 SpringBoot 属性源加载顺序。优先级由低到高,高优先级配置覆盖低优先级。

2024-04-03 13:32:06 1729 1

原创 SpringBoot -- Profiles

配置激活指定环境;也可以使用命令行激活。–spring.profiles.active=dev还可以配置默认环境; 不标注@Profile 的组件永远都存在。a. 如果不改变默认环境,默认的默认环境叫defaultb. 我们可以通过对默认环境进行配置 和 只能用到 无 profile 的文件中,如果在application-dev.yaml中编写就是无效的。其实这一点很好理解,只有将环境切换为dev后,才会生效。如果在中才将dev环境激活,那么,生效后会激活dev,但激活了dev后才会生效,两者互

2024-03-30 12:17:02 680 3

原创 SpringBoot -- 整合SpringMVC

SpringBoot的自动配置机制已经在这篇文章中进行了介绍。这里只进行简单说明。我们在依赖库中导入会引入,其中包含了所有场景的所有配置类主程序中包含注解,它会通过批量导入配置类配置类根据条件注解以及属性绑定,将组件都加入到容器中包含了 ContentNegotiatingViewResolver 和 BeanNameViewResolver 组件,方便视图解析默认的静态资源处理机制: 静态资源放在 static 文件夹下即可直接访问。

2024-03-29 14:44:59 1096

原创 SpringBoot -- 错误处理机制

前后端分离,需要响应JSON格式使用进行统一异常处理服务端页面渲染不可预知的,HTTP码表示的服务器或客户端错误在下面,放常用精确的错误码页面。例如:500.html,404.html在下面,放通用模糊匹配的错误码页面。例如:5xx.html,4xx.html发生业务错误核心业务:通过代码处理错误,跳转到自己定制的错误页。通用业务:classpath:/templates/error.html页面,显示错误信息。

2024-03-29 14:13:05 713

原创 SpringBoot --条件注解与属性绑定

如果我们要将容器中自己编写的任意组件(Bean)的属性值和配置文件的配置项的值进行绑定:给容器中注册组件(@Component、@Bean)使用声明组件和配置文件的哪些配置项进行绑定如果我们要激活第三方包的属性绑定(第三方已经使用@ConfigurationProperties 声明组件和配置文件的哪些配置项进行绑定):使用。

2024-03-28 14:19:24 501 2

原创 SpringBoot -- 自动配置机制

我们导入场景启动器,最终就会引入有一个文件,,里面包含着许多自动配置类,也就是通过主程序注解中的,把所有的都导入进来每个会根据自己的条件注解进行按需加载,用不到的就不会进行加载会通过注解将与配置文件进行绑定,获取自定义的的配置给容器中导入相关组件,组件都是从 xxxProperties中提取属性值这样,通过SpringBoot的自动配置机制,我们只需要导入starter、修改配置文件,就能修改底层行为,根据我们的需求进行自定义配置。

2024-03-28 14:02:39 1097

原创 Mybatis-Plus实现乐观锁

乐观锁和悲观锁是在并发编程中用于处理并发访问和资源竞争的两种不同的锁机制

2024-03-22 13:45:58 1062

原创 MyBatis-Plus实现逻辑删除

逻辑删除,可以方便地实现对数据库记录的逻辑删除而不是物理删除。逻辑删除是指通过更改记录的状态或添加标记字段来模拟删除操作,从而保留了删除前的数据,便于后续的数据分析和恢复。再配置文件中进行配置,这样可以全局指定,deleted 属性对于所有实体都生效,就不需要进行上述单一指定。可以是一个布尔类型、整数类型或枚举类型。实体类添加逻辑删除属性。

2024-03-21 14:30:17 538

原创 MybatisPlus--条件构造器

使用MyBatis-Plus的条件构造器,可以构建灵活、高效的查询条件,而不需要手动编写复杂的 SQL 语句。它提供了许多方法来支持各种条件操作符,并且可以通过链式调用来组合多个条件。这样可以简化查询的编写过程,并提高开发效率。

2024-03-20 15:40:08 863

原创 MyBatis-Plus--基于Mapper和Service接口的CRUD方法

在MyBatis中,我们需要新建Mapper和Service接口,并在实现类中将各个方法实现。这个过程比较固定而且繁琐,因此,MyBatis-Plus帮我们封装了单表的增删改查操作,节省了我们的操作。我们不需要再一个一个的去定义并实现单表操作方法。mapper接口:我们只需要将自己的Mapper接口继承MyBatis-Plus提供的BaseMapper接口,这样我们就可以直接使用MyBatis-Plus为我们提供的各种方阿飞,不需要我们一一实现。如果我们需要定义自定义方法,也可以按照像MyBatis中的流

2024-03-19 14:27:05 426

原创 RESTFul风格请求路径设置

RESTful(Representational State Transfer)是一种软件架构风格,用于设计网络应用程序和服务之间的通信。它是一种基于标准 HTTP 方法的简单和轻量级的通信协议,广泛应用于现代的Web服务开发。通过遵循 RESTful 架构的设计原则,可以构建出易于理解、可扩展、松耦合和可重用的 Web 服务。RESTful API 的特点是简单、清晰,并且易于使用和理解,它们使用标准的 HTTP 方法和状态码进行通信,不需要额外的协议和中间件。总而言之,RESTful 是一种基于 HTT

2024-03-16 14:47:07 1274

原创 LeetCode -- 76. 最小覆盖子串

给你一个字符串 s 、一个字符串 t。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “”。注意:对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量。如果 s 中存在这样的子串,我们保证它是唯一的答案。示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”解释:最小覆盖子串 “BANC” 包含来自字符串 t 的 ‘A’、‘B’ 和 ‘C’。

2024-03-15 13:52:59 532

原创 Spring MVC 返回JSON数据

responsebody注解与restcontroller注解

2024-03-14 14:38:48 996

原创 Spring MVC共享域对象操作

在 JavaWeb 中,共享域指的是在 Servlet 中存储数据,以便在同一 Web 应用程序的多个组件中进行共享和访问。。pageScope共享域的作用是提供了方便实用的方式在同一 Web 应用程序的多个组件之间传递数据,并且可以将数据保存在不同的共享域中,根据需要进行选择和使用。

2024-03-14 14:32:13 717

原创 Spring MVC 路径参数及JSON参数接收

路径传递参数是一种在 URL 路径中传递参数的方式。在 RESTful 的 Web 应用程序中,经常使用路径传递参数来表示资源的唯一标识符或更复杂的表示方式。而 Spring MVC 框架提供了注解来处理路径传递参数。注解允许将 URL 中的占位符映射到控制器方法中的参数。例如,如果我们想将/user/{id}路径下的{id}映射到控制器方法的一个参数中,则可以使用注解来实现。下面是一个使用。

2024-03-14 14:14:14 1177

原创 Spring MVC接收param参数(直接接收、注解接收、集合接收、实体接收)

Spring MVC 是 Spring 框架提供的 Web 框架,它允许开发者使用实体对象来接收 HTTP 请求中的参数。通过这种方式,可以在方法内部直接使用对象的属性来访问请求参数,而不需要每个参数都写一遍。有时候可能会出现一个参数名有多个值,例如多选框,提交的数据的时候一个key对应多个值,我们可以使用集合进行接收。注释将 Servlet 请求参数(即查询参数或表单数据)绑定到控制器中的方法参数。@RequestParam中的。在上述代码中,将请求参数name和age映射到实体类属性上,

2024-03-14 14:01:03 551

原创 SpringMVC访问路径设置

RequestMapping注解的作用就是将请求的 URL 地址和处理请求的方式(handler方法)关联起来,建立映射关系。SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的方法来处理这个请求。

2024-03-14 13:49:21 584

原创 Spring MVC简介及核心组件和调用流程理解

Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring Framework中。正式名称“Spring Web MVC”来自其源模块的名称(),但它通常被称为“Spring MVC”。在控制层框架历经Strust、WebWork、Strust2等诸多产品的历代更迭之后,目前业界普遍选择了SpringMVC作为Java EE项目表述层开发的。

2024-03-14 13:27:25 1207

原创 MyBatis动态语句 -- foreach标签

例如修改语句,我们找不到需要循环的sql片段,那就可以把整个sql语句循环。如果一个标签涉及多个语句!需要设置允许指定多语句!在数据库连接信息的URL地址中设置: allowMultiQueries=true如果没有给接口中List类型的参数使用@Param注解指定一个具体的名字,那么在collection属性中默认可以使用collection或list来引用这个list集合。

2024-03-13 14:19:48 699

原创 MyBatis动态语句 -- trim/choose/when/otherwise标签

使用trim标签控制条件部分两端是否包含某些字符

2024-03-13 14:04:58 414

原创 MyBatis动态语句 -- if、where和set标签

使用动态 SQL 最常见情景是根据条件包含 where / if 子句的一部分。

2024-03-13 13:57:38 400

原创 Mybatis多表映射总结

关联关系配置项关键词所在配置文件和具体位置对一association标签/javaType属性/property属性Mapper配置文件中的resultMap标签内对多collection标签/ofType属性/property属性Mapper配置文件中的resultMap标签内。

2024-03-13 13:41:59 326

原创 Mybatis多表映射之一对多映射

一对多映射时,在resultMap中使用标签collection与一对一映射中association一样,property属性值为被关联的实体类属性名相同。在上述例子中,顾客类中订单类型的集合属性名为orderList。ofType与association中的javaType一样,属性值为被关联的实体类的全类名。这里是list列表,因此填列表的泛型类型,也就是订单类。

2024-03-13 13:36:20 726

原创 Mybatis多表映射之一对一映射

一对一映射时,在resultMap中使用标签associationresultMap中的 property属性值要与被关联的实体类属性名相同,例如上述例子中的customerresultMap中的javaType属性值为被关联的实体类的全类名。

2024-03-13 13:26:57 387

原创 mapperXML标签总结

MyBatis 的真正强大在于它的语句映射,这是它的魔力所在。由于它的异常强大,映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,省掉了将近 95% 的代码。MyBatis 创建一个预处理语句(PreparedStatement)参数,在 JDBC 中,这样的一个参数在 SQL 中会由一个“?这个语句名为 selectPerson,接受一个 int(或 Integer)类型的参数,并返回一个 HashMap 类型的对象,其中的键是列名,值便是结果行中的对应值。

2024-03-13 12:49:04 1113

原创 Mybatis实体类属性和数据库字段对应关系总结

别名对应,全局配置自动映射,resultMap自定义映射关系

2024-03-13 12:45:54 781

原创 Mybatis获取主键值

使用这种方式,我们可以方便地插入 UUID 作为字符串类型主键。当然,还有其他插入方式可以使用,如使用Java代码生成UUID并在类中显式设置值等。而对于不支持自增型主键的数据库(例如 Oracle)或者字符串类型主键,则可以使用 selectKey 子元素:selectKey 元素将会首先运行,id 会被设置,然后插入语句会被调用!如果数据库表设置了主键自增长,那么我们在插入数据时,不需要给主键赋值。属性来指定查询到的 UUID 赋值给对象中的。表中时,我们直接使用对象中的。在上例中,我们定义了一个。

2024-03-13 12:38:51 320

原创 Mybatis接收sql语句返回的map类与list类数据

适用于SQL查询返回的各个字段综合起来并不和任何一个现有的实体类对应,没法封装到实体类对象中。能够封装成实体类类型的,就不使用Map类型。Mapper接口的抽象方法SQL语句

2024-03-12 14:09:13 428

原创 Mybatis接收sql语句返回的实体类对象

通过给数据库表字段加别名,让查询结果的每一列都和Java实体类中属性对应起来。但是我们可以看到这样的书写方式比较冗余,我们可以增加全局配置来自动识别对应关系,可以自动将sql语句中的命名规则映射为驼峰式命名规则。我们可以通过三种方法来为Employee实体类设置别名为emploee,这样可以简化代码。在 Mybatis 全局配置文件中,做了下面的配置,select语句中可以不给字段设置别名。可以看到,上述的sql语句比较长,写起来也感觉很冗余。先来优化第一个地方。我们可以使用类型别名来代替实体类的全类名。

2024-03-12 14:01:13 442

原创 Mybatis 接收sql语句单个简单类型的输出及别名问题

如果sql语句的返回结果是我们自定义的实体类型,那么resultType中我们就要写实体类的全类名,比较复杂。但是如果我们为该实体定义了别名,那么就可以直接使用别名,让代码更简洁。类型别名可为 Java 类型设置一个缩写名字。它仅用于 XML 配置,意在降低冗余的全限定类名书写。例如:

2024-03-12 13:53:49 1089

原创 Mybatis Map类型参数传入sql语句

我们可以在#{}中根据Map中的key获取到map中的数据,与实体类型传参类似。当有很多零散的参数需要传递,但是没有对应的实体类类型。而且使用@Param注解一个一个传入又太麻烦,因此我们可以将数据都封装到一个map中。

2024-03-12 13:36:38 339

原创 Mybatis 多个简单类型参数传入sql语句

在有多个简单类型参数传入sql语句中,我们可以在接口方法形参中通过@Param注解为参数进行自定义参数名,这样我们就可以在sql语句中根据参数名直接获取对应数据。Mybatis也可以根据参数的位置进行获取:从左到右为:arg0, arg1, arg2 …也可以从左到右为:param1, param2, param3 …

2024-03-12 13:32:01 369

原创 Mybatis 实体类类型参数传入sql语句

Mybatis会根据#{}中传入的数据,加工成getXxx()方法,通过反射在实体类对象中调用这个方法,从而获取到对应的数据。填充到#{}解析后的问号占位符这个位置。因此,我们可以直接通过实体的属性名获取参数值。

2024-03-12 13:22:57 415

原创 Mybatis中#{}与${}的区别

通常不会采用${}的方式传值,因为其无法抵御sql注入攻击。如果列名或者关键字也需要动态参数传入,那么#{}无法在这种场景下使用,因此只能使用${}。

2024-03-12 13:17:52 324

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除