自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MybatisPlus的使用(MybatisPlus的配置,wrapper的使用和自定义sql)

{ew.customSqlSegment}为固定写法 用来拼接where语句。Wrapper是一个包装器 其中封装了很多方法让我们能够做条件判断。其中前面每个参数的注解必须要写。推荐使用Lambda来改善代码的硬编码情况。

2024-12-05 18:13:52 375

原创 Mybatisplus

MybatisPlus通过扫描实体类 并基于反射获取实体类的信息作为数据库表信息。2.mapper接口继承BaseMapper<> (方括号内填写操作的类)MybatisPlus融合了Mybatis。MybatisPlus几种常见的注解。3.使用mybatis的各种方法。1.导入maven坐标。

2024-12-05 16:46:36 134

原创 HttpClient

是apache旗下的项目 可以用来提供高效的 最新的 功能丰富的 支持HTTP协议的客户端编程工具包,并且支持HTTP协议最新的版本和建议。Http的Post请求。

2024-11-29 21:22:29 231

原创 Redis的基础知识·

Redis有序集合是string类型元素的集合 且不允许有重复的成员 每个元素都会关联一个double类型的分数,常用命令。HSET key field value 将哈希表key中的字段field的值设置为value。Redis set 是string类型的无序集合 集合成员是唯一的,集合中不能出现重复的数据 常用命令。ZREM key member1[member2] 移除有序集合中的一个或者多个成员。HGET key field 获取存储在哈希表中的指定字段的值。

2024-11-28 16:47:08 492

原创 IO流和Try-With-Resourse

第二种是两个参数构造器 第一个参数书写File信息第二个写是否在文件尾部追加 如果追加写true 否则写false。InputStream(字节输入流) OutputStream(字节输出流)InputStream的read()方法(空参数的方法)3. 输出流的构造器有两种第一种是一个参数构造器 书写File的信息。Reader(字符输入流) Writer(字符输出流)四个都是抽象类 如果要使用要使用该抽象类的实现方法。read()方法(有参数方法)4.字符输入流的reader方法(无参数)

2024-11-26 11:16:55 271

原创 Java文件操作

所谓列出文件夹的所有内容(使用File类中的方法list() 或者 listFiles()方法 ) 就是如果A文件夹存在子文件夹B C D。列出来 这个方法主要用来遍历某一个文件夹 遍历到该文件是非文件夹的形式 而是一个单纯的文件 说一下list()和listFiles()方法的区别和相同之处 list()的返回值是String[] 该String[]是所有子文件夹/子文件的名称 listFiles() 的返回值是File[] File[]中是所有子文件夹/文件的File对象,这个方法常用来文件的遍历。

2024-11-25 21:00:18 530

原创 aliyunOSS服务

AliossConfiguration类。

2024-11-16 20:23:41 137

原创 常见小知识点(DTO转entity 和ThreadLocal 和解决日期前端显示不正确)

ThreadLocal为每一个线程单独一份存储空间 具有线程隔离的作用 只有在线程内才能取得对应的值,线程外则不能访问 Thread Local实现了一个线程内传递信息。而Http每一次请求都是一次单独的线程 从浏览器得来的请求 到拦截器成为一个线程 然后依次通过Controller层 Service层 Mapper层 最后原路返回。因此拦截器解析的jwt令牌里的id可以放在 ThreadLocal中供后面的Service层使用 而不用每次都解析JWT令牌。WebMvcConfiguration中的代码。

2024-11-10 21:18:11 262

原创 Swagger的常见注解

Swagger是能够在线生成调试文档(Auto)需要导入相关依赖以及配置相关文件。@API 用在类上 对类进行说明 用在Controller类上。@APIModel 用在类上 如DTO,entity,VO等类。@APIModelProperty 用在属性上 描述属性信息。@APIoperation 用在方法上说明方法的文档。

2024-11-09 20:07:59 75

原创 md5加密

单向加密 通常把后端的密码加密之后才存到数据库 如果要比对数据库 比对的是密码加密后与md5是否一致。Spring集成了DigestUtils的工具类。

2024-11-09 13:18:37 120

原创 GIT知识点

git remote add<shortname> <url> 添加一个远程仓库并创建一个简称 添加一个远程仓库之后可以更好的把本地代码推送到远程仓库 并把远程仓库新的代码下载到本地文件。解决此问题可以使用 git pull <short-name> <branch-name> --allow-unrelated-histories。git push <short-name> <branch-name> 把本地分支推送到远程仓库。git reset --hard <字符串> 将文件指定到特定版本。

2024-11-08 21:30:37 382

原创 Spring Boot的原理

Spring-Boot就是一个Spring项目的快速入门 里面有起步依赖和自动配置帮助我们更好的上手Spring项目的开发 因此我们需要了解Spring-Boot的起步依赖以及自动配置。Spring框架能够更好的帮助我们开发Java项目 Spring框架下会有很多子框架包括Spring-Boot Spring-Cloud等 但是基于Spring-Frame进行开发的。比如A依赖了B B依赖了C 而我们导入了A依赖那么B和C依赖都会自动导入。起步依赖的原理就是依赖传递。

2024-11-06 11:45:22 183

原创 Bean对象的获取

前言:如果没有指定加入IOC容器的Bean对象的名称 该类在IOC容器中的名称为类名首字符小写其他类型不变。4.@Mapper注解的解释。1.Bean对象的获取。2.Bean对象的作用域。3.成为Bean对象。

2024-11-06 10:22:45 175

原创 SpringBoot配置优先级

分别为 application.properties和application.yml和application.yaml。三种配置文件同时为一个变量赋值时优先级是properties>yml>yaml。java [options] -jar <jar 文件> [args...]系统属性的赋值 -D***=*** 命令行参数的赋值 --***=***第一个options设置系统变量 第二个args设置命令行参数。命令行参数>系统变量>properties>yml>yaml。五种配置方式的优先级是。

2024-11-06 09:06:56 144

原创 AOP和springAOP

切入点表达式有两种形式,第一种是基于 execution()根据方法的签名来匹配,第二种是@annotation基于接口的形式进行匹配。4.通知执行顺序:当有多个切面的切入点都匹配到了目标方法,目标方法运行时 通知方法的执行顺序:默认按照类名的字符顺序执行。2.写AOP类(AOP类中用Around注释记录的方法一定要有返回值,因为方法本身就应该有返回值)2.@PointCut:该注解的作用是将公共的切点表达式抽取出来 需要用到时引用该切点即可。3.在切入方法中的Pointcut中声明注解的全类名即可。

2024-11-05 15:21:47 163

原创 全局异常处理器和事务和

2.在该类的方法中用@ExceptionHandler来声明为异常处理方法 并为该注释的Value值输入异常的类型。2.propagation 传播行为:当A方法有事务注释 A方法调用同样也有事务注释的B时进行的事务传播行为。最常见的事务传播行为就是:当删除东西时 删除被认为是很危险的行为 所以需要不管删除与否都需要打印日志到数据库。NOT_SUPPORTED:不支持事务 在无事务的情况下运行 如果已经存在事务就先挂起该事务再运行。SUPPORTS:支持事务 有就加入 没有就在没有事务的情况下运行。

2024-11-04 20:16:25 188

原创 动态代理(Proxy)

对于动态代理黑马程序员给了一个很好的例子就是,你如果找一个明星唱歌你不可能直接找到她本人,你需要首先找到该明星的代理人然后把准备工作都做完 再找到明星唱歌。回到第一段的例子,如果要测量每个方法的花费时间,可以让每个方法有一个代理人实现测量方法,然后方法体本身自己实现自身的方法。比如如果要统计每个方法花费的时间,如果在每个方法中都都加入该测量方法,在一个工程中该工作量太大了,可以通过动态代理来实现。4.在测试类中声明一个实体类,然后通过代理工具类来声明代理 最后通过代理调用方法。

2024-11-04 18:16:04 112

原创 文件上传以及UUID生成唯一的ID值

4.java.util.UUID用来生成一个随机数不重复 可用于服务器端图片名称的生成。

2024-11-04 14:17:21 373

原创 Filter过滤器 登录校验(获取解析的JWT令牌)

2.Filter类上加@WebFilter注释并配置拦截资源的路径。引导类上加@ServletComponentScan来开启Servlet支持(因为Filter 为javascript的组件并不是springboot的组件)这两个包引入都不能使用引入javax.Servlect包只能通过引入 jakarta包(tomcat10以上要引入jakarta包 而不是javax包 )以注解形式生成的Filter 过滤器链的顺序按照类名的(字符串)的自然排序。多个过滤器会形成过滤器链。

2024-11-03 21:18:36 156

原创 普通知识点java(包括jwt令牌 Filter拦截器 http状态码RESTFULapi)

然后在要使用的类中声明一个aliOSSproperties类 用Autowried来获取对象 再用get和set方法获取该用的系统配置。2.配置文件可以在application.properties中使用key=value声明。3.ylm也可以做配置文件 在springboot中要命名为application.ylm。其中ylm使用格式为 key:value value前的空格一定有。如果要使用可在java中使用Value(¥{})注释获得。

2024-11-03 14:19:44 156

原创 PaperHelper帮助后端分页管理

最后赞叹一句绝对完美的依赖!

2024-11-01 16:14:27 131

原创 XML映射文件和动态sql

XML映射是连接和操作数据库的第二种方法 第一种方法是通过注解也就是@Mapper注解来开发。如果条件成立就拼接sql语句。1 if 用来做动态判断的标签。3.sql和include标签。2.foreach循环遍历。XML映射文件的规范。

2024-10-31 15:44:59 225

原创 Mysql(项目连接MySql数据库)

假设a表和b表是多对多的关系 需要创建一个a表和b表的联合表 该表命名为c表,令c表包含两个外键联系a表和b表的主键。假设a表和b表一一对应,如果要在数据库实现这个功能 只需要在a表或者b表找一个外键和一个表的主键相关联。假设a表:b表 = 1:n 如果要在数据库实现这个功能 需要在b表中找一个外键和a表中的主键相关联。列子查询:子查询的返回值是一列(可以是多行)行子查询:子查询返回值是一行(可以是多列)左连接查询(查询包括所有左表)表子查询:子查询的返回值是一个表。右连接查询(查询包括所有右表)

2024-10-27 21:36:08 188

原创 mysql

DML: Data Manipulation Language 数据操作语言 用于对数据表中的数据进行增删改操作。先查询入职时间在‘2015-01-01'(包含)以前的员工 并对结果进行职位分组 获取员工数量大于2的职位。语句:select *from tb_emp limit 开始索引 , 每页展示的记录数。修改tb_emp字段名qq为qq_num varchar(13)唯一约束 unique 保证字段的所有数据都是唯一的 不重复的。将tb_emp表的所有员工的入职日期更改为2020-01-01。

2024-10-26 11:58:19 854

原创 XML文件基本知识

XML的约束:由于XML的标签是没有预定义的 任何标签都能使用 这不利于解析 所以可以编写XML的约束文件来对XML进行约束。1.外部DTD-DTD在本地 DTD在本机上但是和XML不在同一文件中 但是DTD和XML通常是在同一个目录下。Schema的使用 在根标签下声明xmlns 即xml的命名空间即可使用 指向xsd的目标命名空间。1.约束XML标签的层级关系(根标签 子标签和子子标签等的关系)3.内部DTD XML和DTD约束在同一个XML文件中。3.约束标签的属性值(属性名,属性类型,属性约束)

2024-10-24 17:10:49 1060

原创 java中的注解问题

然后获得了该对象的类对象然后获得了该类的所有方法 对所有方法进行遍历 判断是否含有MyTest的注解 如果有则进入if里。第二类常见的注解有@Retention用来注明注解的生命周期 常见的值有RetentionPolicy.RUNTIME。通过isAnnotationPresent()方法可以判断该类中是否含有该注解 参数为注解的名称。常见的元注解有@Target()其中的值可以用来表明该注解可以注解方法还是类等。我们可以把注解中的字符段全部接出来并打印 到这一步我们就完成了注解的解析。

2024-10-23 17:22:01 154

原创 Java中反射的相关知识

如果要调用该方法我们需要调用该方法的invoke方法第一个参数为为对象 第二个参数为要给该方法传的参代码如下。方法二利用构造器传参的类型获取特定的构造器 其中要获得int类型有参构造器 后面的.class 为必须。该方式获得的是该类的所有成员变量包括私有方法 因为有Declared 返回的是一个数组。方法一获得的是该类的所有方法 也包括get和set方法 声明成了一个数组对象。第一个参数需要传入我们想要改变的该类的对象 第二个参数为修改的值。如果Dog的类的getter和setter方法为私有的。

2024-10-23 15:33:27 694

原创 Junit学习心得

测试方法中需要对测试方法进行极端化测试例如空指针 和 字符串为空的测试保证代码的准确性以及可以使用Assert.assertEquals断言来判断输出结果的准确性。在实体类包名下构造有个测试类 如果实际类名为Student 测试类就命名为StudentTest。实体类中的方法名称如果为GetName测试类中的测试方法应该命名为GetNameTest。Junit是用于最小单元测试 用于测试方法的正确性 最大程度的保证代码的准确性。请求方法必须是无参无返回值公共的。必须使用@Test注解。

2024-10-23 11:20:19 208

原创 SpringBoot中测试请求的整理

传递两个参数 name和age与Java类中的形参相同 java中System.out.println的值是成功给服务器发送之后服务器的工作台输出的语句 return的值是返回给APIfox的值 指示返回完成。所有request发送之前 所声明的类都需要用@RequestMapping("/path")来指明寻找的路径。请求参数有很多类型 包括但不限于普通字符串类型,数组类型,列表类型,日期类型,路径类型。User类中有name和age 和Address与APIfox中的参数相同。管理测试请求参数接收。

2024-10-22 20:57:48 774 1

原创 异常equlas方法,错误未知

解释:try-with-resourse自动关闭了scanner对象,而我们去看Scanner创建对象时输入了一个System.in,而我们去看System类源代码,in是System类的静态最终输入流对象,静态不依赖于对象而是和类共生,也就是说Scanner类一旦关闭,其传入的参数System,in也将关闭,而后再声明Scanner类对象就会报NoSuchElementException错误,所以就是避免。查询了csdn大佬上们的解释,发现这类问题并不是很多,或者对于小白来说并没有太多文章解释这个错误。

2023-09-06 11:28:44 167 2

空空如也

空空如也

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

TA关注的人

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