数据库中插入自定义类型

最后更新:2024-09-11 05:30:01 | 状态:未完成
如果有项目中自定义的类型 在写入数据库时 驱动有可能不支持
可以注册一个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;
	}
});

首页 最近更新 搜索 提交 回复