- 博客(54)
- 资源 (2)
- 收藏
- 关注
原创 JavaIO流学习总结,字符编码,字节流+字符流
Java 中的 IO 流主要包括字节流和字符流两种,字节流主要用于处理二进制数据,字符流主要用于处理文本数据。推荐使用commons-io或Hutool-io第三方工具类。
2023-04-01 10:52:05
715
原创 SpringBoot自定义Mybatis数据源,SpringBoot集成Druid数据库连接池,自定义Mybatis拦截器转义特殊字符\%_
SpringBoot注解方式集成Druid,将其作为Mybatis数据源注入。近期项目上发现一个问题,我们有时候会用到like %?%这种查询语句,有时是mybatisplus中的QueryMapper.like(?)构建的语句,有时候是我们在mapper层自己定义的like concat('%', #{id}, '%')这种语句,当传递进来的参数是若干个下划线_时会查询到所有的数据而不是包含下划线的数据,因为下划线代表任意一个字符,这就会导致sql注入风险,导致原有的语义改变。
2023-03-26 14:04:30
723
原创 Mybatis-TypeHandler,解析TypeHandler工作原理,案例展示实际业务场景
通过一个小业务场景来介绍TypeHandler的工作原理与实际应用场景,帮助理解把Java对象序列化至数据库,数据库对象反序列化至Java对象。遇到一对多关系的数据不用一股脑建关系表啦。
2023-02-23 23:19:23
526
1
原创 JVM学习总结,虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、Visual VM、jstack等
JVM学习总结,虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、Visual VM、jstack等
2023-02-18 16:43:53
1220
原创 JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略
学习JVM这一篇就够了,JVM学习总结,全文两万余字,全面介绍JVM的运行时数据区域(堆栈的区别、堆各种的划分方法等等)、各类垃圾收集器的原理使用(Serial原理、CMS原理调优、里程碑垃圾收集器G1的原理、Shenandoah + ZGC前沿垃圾收集器原理)、内存分配回收策略(如何回收堆内存,什么时候回收,遇到的各式各样的问题怎么解决)。
2023-01-27 17:27:55
1080
原创 SpringBoot集成Swagger,前后端接口文档解决方案。集成SpringDoc,支持SpringBoot3.x。
一个不断在迭代的项目,Controller层与POJO层肯定会是经常变动的,在目前前后端分离的大环境背景下有一份接口文档可以极大减少项目组成员之间的交流成本,也能支持自动化测试,但靠人工维护该文档总是不够稳妥,因此我们可以使用Swagger或SpringDoc,为响应式接口文档提供了一种解决方案。
2023-01-21 22:01:07
3623
原创 SpringBoot项目集成liquibase,数据库版本控制解决方案
liquibase 数据库版本留痕解决方案,在实际生产过程中如何高效管理数据库的DDL与DML语句,对这些语句留痕处理。如果能将sql的执行与SpringBoot项目启动结合在一起,每次启动项目自动执行新增的sql语句,这样就可以使得项目组成员各个都保持相同的开发库,避免人为操作导致数据库不符合预期。
2023-01-18 21:32:07
1484
原创 Docker入门:介绍Docker的常用命令、镜像的加载原理、Dockerfile打包、Docker网络、Docker Compose容器编排+监控
Docker入门:介绍Docker的常用命令、镜像的加载原理、Dockerfile打包、Docker网络、Docker Compose容器编排+监控
2023-01-15 17:06:10
995
原创 将本地SpringBoot微服务制作成Docker Image镜像包然后运行
将本地SpringBoot微服务制作成Docker Image镜像包然后运行
2023-01-14 14:06:15
1212
原创 liquibase相对路径问题,以及升级版本带来的路径问题
Specifying files by absolute path was removed in Liquibase 4.0. Please use a relative path or add ‘/’ to the classpath parameter.Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/Liq
2023-01-03 22:09:32
2372
原创 代理模式:静态代理与动态代理(JDK、CGLIB、javassist动态代理)
介绍代理模式中的静态代理与动态代理(JDK、CGLIB、javassist动态代理)
2022-08-24 18:47:28
973
原创 UML类图、JAVA DesignMode 设计模式、设计原则
全文2.6W余字,读完需要20分钟,介绍23种设计模式,每个模式都有案例与真实使用场景,能够帮助初学者快速了解设计模式,建立起对代码中设计模式的初步理解,要明确:设计模式只是帮助我们更好的设计代码架构,低耦合高内聚是我们不变的目标。
2022-08-15 23:09:52
422
1
原创 Oracle用一条语句实现存在该行数据时更新,不存在时新增。Orace中使用LEAD、LAG分析函数求某行数据的前后n行。
Oracle用一条语句实现存在该行数据时更新,不存在时新增。Orace中使用LEAD、LAG分析函数求某行数据的前后n行。
2022-07-19 14:57:48
4695
原创 oracle数据库备份还原,imp/exp普通导入导出与impdp/expdp 数据泵导入导出
oracle数据库还原,imp/exp普通导入导出与impdp/expdp 数据泵导入导出
2022-06-15 10:22:27
768
原创 Java 内存区域
JVM学习总结,全面介绍运行时数据区域、各类垃圾收集器的原理使用、内存分配回收策略。虚拟机性能监控、故障处理工具:jps、jstat、jinfo、jmap、Visual VM、jstack等
2022-05-11 21:22:26
2800
原创 Oracle 数据库的PLSQL块,游标、函数,存储过程与触发器的使用方法与案例
Oracle 数据库的PLSQL块,游标、函数,存储过程与触发器的使用方法与案例
2022-03-01 14:55:19
5678
1
原创 Oracle中的sql语句、常用函数汇总
本文涉及到的Oracle函数有:UPPER、LOWER、INITCAP、CONCAT、SUBSTR、LENGTH、REPLACE、INSTR、LPAD、RPAD、TRIM、ROUND、MOD、TRUNC、MONTHS_BETWEEN、ADD_MONTHS、LAST_DAY、NEXT_DAY、TO_CHAR、TO_DATE、TO_NUMBER、NVL、NULLIF、DECODE、NVL2、COALESCE 、CASE WHEN、COUNT、AVG、MAX、MIN、SUM、GROUP BY、Having
2022-01-23 19:17:31
2306
2
原创 lambda表达式Stream流学习十四,十五—Java8中新增的时间API:LocalDateTime、TemporalAdjuster、DateTimeFormatter
Java8中新增的时间API:LocalDate、LocalTime、LocalDateTime、DateTimeFormatter
2021-12-29 10:18:17
380
原创 lambda表达式Stream流学习十三—Java8中对接口的改变,接口中默认方法、静态方法、接口冲突
Java8中对接口的改动,接口中的默认方法与静态方法
2021-12-29 09:53:22
243
原创 lambda表达式Stream流学习十一、十二—Optional、ForkJoin框架、并行流与顺序流
lambda表达式Stream流学习十—Stream操作练习题,map、sorted、collect、filter、forEach、max、min一,Optional Optional类(java.util.Optional)是一个容器,代表一个值存在或者不存在,原来用 null 来表示一个值不存在,现在Optional可以更好的表达这个概念,并且可以避免空指针异常。/*Optional 常用方法 : Optional.of(T t) : 创建一个 Optional 实例 Optio.
2021-12-29 09:37:43
292
原创 lambda表达式Stream流学习十—Stream操作练习题
lambda表达式Stream流学习十—Stream操作练习题,map、sorted、collect、filter、forEach、max、min
2021-12-22 19:54:08
553
原创 lambda表达式Stream流学习八、九—Stream的终止操作 : 查找与匹配、归约与收集、分组
Java8的lambda表达式学习记录—lambda表达式Stream流学习八、久—Stream的中间操作 : 查找与匹配、归约与收集、分组
2021-12-18 01:10:33
506
原创 lambda表达式Stream流学习四 —Java.util.function 四大内置函数式接口
Java.util.function 四大内置函数式接口
2021-12-13 10:51:42
425
原创 lambda表达式Stream流学习三—Lambda表达式练习题
Java8的lambda表达式学习记录—lambda练习题1)调用 Collection.sort() 方法,通过定制排序比较两个 Emp (先按年龄比较,年龄相同再按姓名比),使用 Lambda 作为参数传递.2.1)声明函数式接口,接口中声明抽象方法,public String getValue(String str);2.2)声明类 TestLambda,类中编写方法使用接口作为参数,将一个字符串转换成大写,并作为方法的返回值.2.3)再将一个字符串的第2个和第4个索引位置进行截取子串.3.
2021-12-10 21:13:42
583
原创 lambda表达式Stream流学习二—Lambda语法
Java8的lambda表达式学习记录—lambda语法一,lambda表达式的语法无参无返回值//无参无返回值,括号里为空 () -> System.out.println("gogo");@Testpublic void test1() { int num = 0;//jdk1.7之前,必须是final的,在匿名内部类中调用,不能修改它的值,现在不用加final了,但是不能修改 Runnable r1 = new Runnable() {//传统写法 .
2021-12-10 21:00:23
256
原创 LISTAGG 函数与 OVER PARTITION BY 函数
Oracle中的 listagg 拼接字符串函数以及 PARTITION BY 分组函数,今天遇到一个问题,要实现一些功能,找了一会才弄明白这两个函数如何使用,记录一下,避免忘记。一,WM_CONCAT(column) 行转列函数,将多行查询结果拼接成一句话,默认用,拼接,可以用replace函数替换。--要求将一部分人的名字拼接起来SELECT * FROM AAA;SELECT REPLACE(WM_CONCAT(A02), ',', ',') AS xm from AAA;--邹.
2021-12-10 20:49:16
2199
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人