
Java笔记
winsmok
浮生若梦,为欢几何
展开
-
seata: 1.6.0,pgsql自增主键失效,pkIndex is not found
在seata升级为1.6.0版本后,操作insert进行数据新增时报出了异常:ShouldNeverHappenException: pkIndex is not found,即insert找不到主键,但主键是存在的,并设置了默认值,造成该原因是seata:1.6.0版本存在的bug,已在1.7.0版本做了修复。原创 2024-07-20 09:39:52 · 406 阅读 · 0 评论 -
Java 动态代理
创建一个代理处理类public class ProxyInvocationHandler<T> implements InvocationHandler { /** * 被代理的接口 */ private T target; /** * 设置代理接口 * * @param target */ public void setTarget(T target) { this.target =原创 2022-03-21 20:19:57 · 295 阅读 · 0 评论 -
自定义 TypeHandler (oracle)
针对oracle存储过程的使用到的array数组类型或record结构体类型自定义解析器TypeHandler参考有些类已经启用,需要寻找替换的结构体:@MappedJdbcTypes(JdbcType.STRUCT)public class RecordTypeHandler extends BaseTypeHandler<Map> { @Override public void setNonNullParameter(PreparedStatement ps, in原创 2021-11-07 13:49:03 · 596 阅读 · 0 评论 -
Java反射创建实例,内部类实例
通过反射创建类的实例,包括内部类实例的创建该方式创建的实例比较简单,但这个newInstance()在新版本中已经失效了,且这个方法针对内部类创建实例时会失败报异常。 public static Object getBean(Class clazz) throws Exception { Object obj = clazz.newInstance(); return obj; } 该方式创建实例时需要先获取类的构造器,再用构造器进行实例创建,se原创 2021-05-06 23:52:09 · 456 阅读 · 0 评论 -
Java获取类字段,包括父类中的字段
通过反射获取类的所有字段,包括父类。因为getDeclaredFields()获取的只是当前类的字段,获取不到父类里的字段,可以通过getSuperclass()获取父类,再通过etDeclaredFields()将获取到的字段保存到一个集合里返回。 /** * 获取所有字段 * @param clazz * @return */ public static Field[] getFields(Class clazz){ List<Fi原创 2021-05-06 23:31:24 · 4629 阅读 · 0 评论 -
Java两个相同对象之间数据整合
1、通过反射对同一类型的对象进行数据整合/*** 以destination对象为主*/public <T> void mergeObject(T origin, T destination) { if (origin == null || destination == null) return; if (!origin.g...原创 2019-11-15 18:05:05 · 1882 阅读 · 0 评论