- 博客(24)
- 收藏
- 关注
原创 JDBC之事务 批处理 BeanUtil的底层原理仿写
DBUtils的总体思路是提供一个结果集的处理器,这个处理器去处理不同的结果集,得到不同的返回值。几行代码一起执行,要么都成功,要么都失败,commit,rollback。注意:事务跟连接相关,如果事务属于不同的连接,那么就无法回滚。你要控制事务,首先要搞明白是不是同一个连接。这个处理器把一个结果集处理成一个对象集合。批处理就是很多句sql一起处理。5.3.3 查询第一行第一列。
2024-07-04 14:13:43
240
原创 原生JDBC
mysql:安装,卸载,环境变量,SQL功能自动完成事务,begin==start transaction ,set autocommit=0/fasle;commit;rollback;事务的传播特性。视图,索引,触发器,存储过程,函数给定一个主键,XXX-XX根据-前面的升序排,后面降序排。
2024-07-03 09:58:38
382
原创 完美解决 IDEA创建JDK1.8的Spingboot项目但Java版本只能勾选17和21,没有 8
今天新建项目发现java只能勾选17和21。
2023-12-07 14:19:00
4442
原创 Java CGLib动态代理
唯一要注意的是,如果被代理的类被final修饰,那么它不可被继承,即不可被代理,同样如果被代理的类中存在final修饰的方法,那么该方法也不可被代理,因为CGLib原理是动态生成被代理类的子类。CGLib 的底层是 Java 字节码操作框架——ASM (https://asm.ow2.io)在JDK8之前CGLib动态代理比JDK的动态代理(使用Java反射)效率要高。final类不能被继承,final方法不能被复写。不仅可以接管接口类的方法还可以接管普通类的方法。
2023-09-26 11:18:25
250
原创 设计模式之工厂方法模式(Factory Method Pattern)
定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到其子类.通用类图如下抽象产品类Product定义产品的共性,实现事务最抽象的定义;Creator抽象创建类,也就是抽象工厂。
2023-09-22 15:42:48
72
1
原创 设计模式之单例模式(Singleton Pattern)
Ensure a class has only one instance, and provide a global point of access to it. (确保某一个类 只有一个实例,而且自行实例化并向整个系统提供这个实例。)通用类图如下Singleton类称为单例类,通过使用private的构造函数确保了在一个应用中只产生一个实例,并且是自行实例化的(在Singleton中自己使用new Singleton())。饿汉式单例在一个系统中,要求一个类有且仅有一个对象,如果出现
2023-09-22 10:32:12
77
1
原创 java六大设计原则
只要做过项目,肯定要接触到用户、机构、角色管理这些模块,基本上使用的都是 RBAC模型(Role-Based Access Control,基于角色的访问控制,通过分配和取消角色来完成 用户权限的授予和取消,使动作主体(用户)与资源的行为(权限)分离),确实是一个很 好的解决办法。细节就是实 现类,实现接口或继承抽象类而产生的类就是细节,其特点就是可以直接被实例化,也就是 可以加上一个关键字new产生一个对象。从整体上来看,利大于弊,怎么才能让“利”的因素发 挥最大的作用,同时减少“弊”带来的麻烦呢?
2023-09-20 17:25:06
58
1
原创 数据库默认字段-Mybatis自动注入配置
is_deleted` int(11) NOT NULL DEFAULT '0' COMMENT '是否删除',`create_user` bigint(20) NOT NULL COMMENT '创建人',`update_user` bigint(20) NOT NULL COMMENT '修改人',`create_time` datetime NOT NULL COMMENT '创建时间',建表,每个表都需要添加这几个字段。
2023-09-14 09:52:32
137
1
原创 MySQL 字符集 排序规则
因为它广泛支持大部分 Unicode 字符,并且适用于多种语言环境。utf8mb4 是 MySQL 5.5.3 版本及以上的默认字符集,它可以满足大多数应用的需求。如果应用需要正确地排序各种语言、特殊字符或者多语言混合的数据。,能够满足大部分排序需求。
2023-09-14 09:30:12
330
1
原创 数组和链表
数组:查询效率高,新增和修改需要移动元素效率低,内存分配是连续的内存,扩容需要重新分配内存。链表:新增和修改效率高,只需要修改指针指向就好。链表查询效率低,需要从链表头依次查找。内存分配不需要连续的内存,占用连续内存少。原文链接:https://juejin.cn/post/6935049364616249381。
2023-09-07 10:20:18
67
1
原创 DateTimeFormatter
你可以根据自己的需求,编写符合要求的日期时间模式字符串,然后将其作为参数传递给。方法的参数中,你需要传入一个日期时间模式字符串,用于指定日期时间的格式。这些字符可以根据需要进行组合,形成不同的格式。此外,还可以使用单引号。对象,用于解析和格式化日期时间数据。这样就可以创建一个相应格式的。来包围文字,作为固定的文本。
2023-07-06 13:20:01
2575
1
原创 <![CDATA[<]]>、转义字符和xml、mysql大于等于、小于等于的问题
原符号 < <= > >= & ' "但是严格来说,在XML中只有”<”和”&”是非法的,其它三个都是可以合法存在的,但是,把它们都进行转义是一个好的习惯。替换符号 < <= > >= & ' "不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析,,如果想在xml中使用这些符号,必须将其转义为实体,如。
2023-05-23 09:26:45
1669
1
原创 Java学习随便写点笔记
在运行状态中也可能导致多个原因运行不下去,比如用户通过wait、jion方法就会让线程进入我们的waiting状态等待,通过run执行完毕或者notify方法唤醒当前线程,或通过sleep(seconds),wait,join等方法使线程进入我们的time waiting状态等待时间结束被唤醒,其中wait会释放对象锁,而sleep不会释放对象锁,也就是说如果当前线程持有某个对象的锁,则即使调用sleep方法,其他对象也无法访问这个对象。》创建进程的开销大于创建线程的开销,进程之间的通信比线程间要难。
2023-04-15 14:33:20
89
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人