- 博客(88)
- 资源 (3)
- 收藏
- 关注
原创 ConfigurationProperties使用
@ConfigurationProperties是的一个注解 用于将配置文件,环境变量中的值映射到一个Java对象的属性上。
2024-08-21 18:27:38 402
原创 Spring Data REST
Spring-Data-Rest 为我们提供许多事件在持久化操作时进行扩展:新增模型数据前:新增模型数据后:更新模型数据前:更新模型数据后:多表关联保存的时候前 例如:OneToOne 等:多表关联保存的时候后 例如:OneToOne 等:删除模型数据前:删除模型数据后/*** 通过 user/search/findTopByAge 来访问* @return*//*** 通过 user/search/findTopBySex 来访问* 可以通过@Param 来指定参数名。
2024-08-16 10:21:11 621
原创 MySQL查询居然不区分大小写
MySQL查询居然不区分大小写!!!。提高灵活性:用户在输入数据时可能不会注意大小写,不区分大小写的查询可以更好地匹配用户的输入,提供更灵活的搜索体验。增强用户体验:对于用户来说,不区分大小写的查询可以减少输入错误带来的搜索问题,用户不需要记住确切的大小写格式。避免重复:不区分大小写的查询可以避免因大小写差异而产生的数据重复问题,确保数据库中的数据唯一性。
2024-08-16 10:17:41 587
原创 SpringDataJpa源码分析
我们在定义Repository的时候通常定义的时一个接口,而并没有去实现这个接口,那么Jpa是如何让开发者无需自己实现接口就可以使用Repository去操作数据库?!!!
2024-08-11 14:42:37 446
原创 Jpa-多表关联-OneToMany与ManyToOne
方法时则会出现更奇怪的问题,只插入主表,没有插入子表,但是对子表进行了更新操作。默认是不会删除关联表的行数据( 注意这里不会将关联表的行数据给删除,需要删除的话则需要开启。当进行更新操作时,将清空主表的关联数据或修改主表的关联数据时,会删除关联的子表数据。当对原有的子表集合进行操作时,会先将原有子表中所有与当前表有关联数据行的关联字段修改为。先查询是否存在主表及子表信息,更新完主表后,对子表进行插入,插入完成后,查询主表与子表的信息,将子表中所有存在关系行的关联字段改为。,并删除子表信息,再删除主表信息。
2024-08-06 23:47:41 1226
原创 Jpa-多表关联-OneToOne
JPA多表关联。默认是不会删除关联表的行数据( 注意这里不会将关联表的行数据给删除,需要删除的话则需要开启。方法用于重新加载实体的状态,从数据库中获取最新的数据,并覆盖当前持久化上下文中的实体状态。只有删除(DELETE)操作时进行级联操作,删除主表的同时会把子表也删除。但是查询的时候是会进行级联查询的。,而到我们获取关联表信息的时候再去对关联表进行查询,这里删除,更新,不会对关联进行操作。)操作时进行级联操作,更新时如果将关联属性修改为。级联查询后,对主表进行删除,再后关联表进
2024-08-06 00:51:08 884
原创 线程池-拒绝策略
当 Java 提供的这四个拒绝策略你觉得不好用时,你可以自己定义这个拒绝策略来处理。也就是提供接口的实现即可。10,60,// 使用当发生拒绝策略的时候使用forkJoinPool这个线程来执行任务@Override10 个被执行,10 个被执行。当然这里不建议使用这种方式来处理,当大量任务会被执行拒绝策略的时候,这会导致的线程池无线扩充,最终导致内存异常等问题。这里只是举例慎用!!!!当然这里不建议使用这种方式来处理,当大量任务会被执行拒绝策略的时候,这会导致。
2024-07-14 01:12:22 983
原创 Windows 默认以管理员运行打开CMD
win+r 默认以管理员打开运行CMD。需求:在运行页面输入`cmd` 希望是可以直接通过管理员方式打开的。希望是可以直接通过管理员方式打开的。(注意家庭版是没有这个的)需求:在运行页面输入。
2024-07-13 23:19:45 599
原创 安装WindowsTerminal并设置默认以管理员身份运行启动终端
`Microsoft Store`打不开,且`WindowsTerminal`没有默认以管理员身份运行。下载msixbundle类型的安装包:https://github.com/microsoft/terminal/releases。打开终端勾选以管理员身份运行此配置文件即可。没有默认以管理员身份运行。进入下载文件的路径。
2024-07-12 18:23:17 653
原创 单例模式实现方式
单例模式(Singleton Pattern)的主要目的是确保一个类只有一个实例,并提供一个全局访问点来访问该实例。在 Java 中,实现单例模式的方式有几种常见的方式。
2024-06-29 20:15:48 259
原创 判断线程/任务是否全部执行完成
判断线程/任务是否全部执行完成,这里所有的都没有指定线程池,所有他这里是使用的。最好不要使用内置的这个线程池,可以自定义一个,然后在创建的时候进行指定。我感觉方案3好用一些。但是如果不放心使用异步任务的话,直接使用方案1即可。都可以实现功能。
2024-01-22 16:37:21 1209 1
原创 SpringBoot 自定义Banner
SpringBoot 自定义Banner,内置变量spring-boot.version:SpringBoot的版本号spring-boot.formatted-version:带v的版本号[外链图片转存中…(img-kzLyUrAu-1705820973870)]直接在类路径下创建banner.txt来替换SpringBoot默认的输出最为方便,想要美化的话,可以通过一些工具来进行生成。
2024-01-21 15:09:56 1132
原创 Tomcat配置项目直接通过http://ip:port访问
Tomcat配置项目直接通过http://ip:port访问,解决项目重复加载两次的问题
2024-01-20 20:50:43 1010
原创 Oracle行转列函数,列转行函数
Oracle 可以通过PIVOT,UNPIVOT,分解一行里面的值为多个列,及来合并多个列为一行。行传列函数,及列转行函数
2024-01-18 18:18:18 3265
原创 非maven项目快速转换为maven项目
`maven-compiler-plugin`:解决在编译过程中识别不到第三方依赖的问题 `maven-war-plugin`:解决在部署后可以让第三方包被tomcat识别 使用这两个插件让我们可以无需一个一个的添加`denpendency`,之后的有再补充的`jar`包,可以通过`denpendency`交给`maven`来管理。
2024-01-15 14:02:26 1061
原创 pom.xml中resouces标签
resources是maven在编译项目时将资源文件或者额外的文件赋值到输出目录中。通常包括配置文件,属性文件,模板文件,jar包等。resouces中可以包含resouce。也就是可以自定义的配置多个资源配置。
2024-01-14 21:18:34 1465
原创 解决Unexpected record signature 0X9&&maven 资源过滤
我们有个需求是根据`excel`模版导出一个`excel`表。我们的项目是SpringBoot,所以理所当然的把这个模版文件放到了,`resources`文件夹中。但是在导出文件的时候却遇到了`invalid code lengths set`及`Unexpected record signature: 0X9`的错误。maven 资源过滤
2024-01-13 23:36:03 2201
原创 maven配置多个远程仓库
单个库的话就使用mirrors即可,配置方便,多个库正常情况下只有一个库生效。多个库的话就使用profiles即可,配置多个profile,多个profile的加载顺序是从下往上,依次加载。并且需要配置激活对应的仓库配置。
2024-01-02 23:04:14 1624
原创 解决idea 通过build project 手动触发热部署失败
运行项目的过程中,并且保证(不添加方法,不修改方法名)一定的规则的情况下,可以通过。这里修改了方法名后,他就会提示热部署交换文件失败了,需要手动重启项目。在只修改业务逻辑的情况下,能正常交换成功。来手动热部署项目,也就是会交换。
2023-12-07 22:15:47 847
原创 Spring三级缓存处理循环依赖的过程
当Spring遇到循坏依赖时,它通过使用三级缓存以及提前暴露不完整的对象来解决问题。举例:在A实例化完成后,Spring会将他放入到三级缓存中。A此时并没有进行初始化,当A进行属性赋值的时候,如果扫描到A对象依赖B对象的话,则又会去实例化B对象,然后再把B对象放入到三级缓存中,当B进行属性赋值的时候,发现需要依赖A对象,那么这个时候就出现了循环依赖的问题了。然后从三级缓存中取出A对象,这里的A对象被包装成了一个的一个lambda。
2023-12-01 00:01:37 1132
原创 Java使用Redis来实现分布式锁
在单节点服务中,我们可以使用来保证同一时间内只允许一个线程执行限定的代码块。但是如果我们是多节点服务呢,因为是针对服务内部的,其他服务是无法受到他的干预的。那么如何保证多个节点在同一时间内只允许一个节点中的一个线程去访问这个代码块呢?使用分布式锁!!!本文使用Redisson来操作Redis并实现分布式锁。
2023-11-21 18:09:52 596
原创 Spring bean标签
application(web扩展的):不同的web Application会创建,不同bean,webApplication关闭后销毁bean。constructor-arg:用于构造函数注入,或者是factory-bean有参数的时候等。session(web扩展的):不同的session会创建不同bean,session结束后销毁bean。request(web扩展的):每一个请求都会去创建不同bean,请求结束后销毁bean。可以重写bean中的一个方法,把方法的返回值替换成。
2023-11-13 22:04:09 403
原创 MySQL EXPLAIN查看执行计划
MySQL 执⾏计划是 MySQL 查询优化器分析 SQL 查询时⽣成的⼀份详细计划,包括表如何连 接、是否⾛索引、表扫描⾏数等。通过这份执⾏计划,我们可以分析这条 SQL 查询中存在的 问题(如是否出现全表扫描),从⽽进⾏针对优化。我们可以通过EXPLAIN来查询我们SQL的执行计划。
2023-11-05 23:26:49 735
原创 MySQL WITH AS及递归查询
WITH是 SQL 中的一个关键字,用于创建临时表达式(也称为 Common Table Expression,CTE),它允许你在一个查询中临时定义一个表达式,然后在后续的查询中引用它。理解:当我们使用WITH AS他会帮我们创建一个临时的表,。当我们使用这个临时表二次以上时,他的效率是会比我们原本写两个一模一样的子查询是要搞的。
2023-10-29 23:59:44 760
原创 MySQL与Oracle的分页
当我们通过SQL去查询一个结果集的时候,并不需要查看所有行,可能只是查看前几行,或者中间的几行。则需要像MySQL的limit或Oracle的ROWNUM与FETCH NEXT来实现。
2023-09-16 19:30:25 665
原创 MySQL锁,解决锁表的问题
有一个`truncate table` 在执行,导致锁表了。并且一直没有完成,从而导致线上服务查询基本信息的时候出现大量卡住的问题,导致服务不可用。记录下问题及解决方案,及其他知识点
2023-09-14 00:57:53 573
原创 Spring Aop
在Bean对象上标注@Aspect使得成为切面。@Aspect@Component在切面类中定义一个void方法,并使用@Pointcut注解来指示切入点表达式execution(常用):用于匹配方法执行连接点。这是使用 Spring AOP 时使用的主要切入点指示符。第一部分代表修饰符。第二部分为包+类+方法名这三个都可以为,也可以为User*这样通配的形式第三部分为参数列表()表示没有参数(..)表示可以有任意参数(零个或多个)(*)只能有一个参数(+)表示至少有一个参数。
2023-09-11 18:11:42 384
原创 Stream.Collectors groupingBy 与 partitioningBy
概述:当我们遇到一个集合,需要根据某个字段进行`分组`或者根据某种条件进行`分区`的时候,我们可以使用到`groupingBy`与`partitioningBy`。根据name的首字母进行分组。// 自定义分组### 输出只要我们提供的key一致则会被分配到同一个组中。
2023-08-27 23:48:02 531
GoogleChromePortable64_86.0.4240.183_online.paf.exe
2021-07-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人