数据库中插入自定义类型
最后更新:2024-09-11 05:30:01
|
状态:未完成
如果有项目中自定义的类型 在写入数据库时 驱动有可能不支持
可以注册一个DataWriter,实现write方法,在写入数据库时如果匹配到相关的类型 会调用write方法执行类型转换
write要把Object value转换成java默认类型,这样系统内部会转换成驱动需要的类型
或者直接转换成数据库驱动支持的类型
可以注册一个DataWriter,实现write方法,在写入数据库时如果匹配到相关的类型 会调用write方法执行类型转换
write要把Object value转换成java默认类型,这样系统内部会转换成驱动需要的类型
或者直接转换成数据库驱动支持的类型
DataWriterFactory.reg(new Object[]{java.util.Date.class, User.class, "其他class"},new DataWriter() { @Override public Object write(Object value, boolean placeholder, TypeMetadata type) { Object result = value; if(result instanceof User){ //遇到User类型 返回主键值 result = ((User)result).getId(); } //把value转换成 java默认类型 或 数据库驱动中提供的类型 System.out.println(LogUtil.format("用户自定义类型转换器", 31)); return result; } });