java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

此方法较适用于分布式项目数据库

实现spring的初始化接口InitializingBean并实现初始化时要执行的方法afterPropertiesSet

public class XXX implements InitializingBean{

@Override
public void afterPropertiesSet() throws Exception {

.........//项目启动时要做的事

}

}

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

在初始化方法里做修改字段的操作,先是通过jdbc查到表的所有字段及字段的数据类型 以key value形式放在map里面

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

然后开始执行修改字段类型的sql

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

由于在项目启动时就会执行一次这个方法 如果多次启动就会造成多次修改字段, 而我们只想更改一次字段的数据类型。
代码中的判断 if("VARCHAR2".equalsIgnoreCase(cacheMap.get("ZFNAME")){...} 对这个问题进行了处理 避免造成多次修改字段

当字段ZFNAME的类型为varchar2时才执行修改为clob类型 否则不修改

除了修改字段类型外当然也可以做别的事

如:检查某表是否存在 存在的话里面的某值是否存在 不存在则添加

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库

java:运用spring的初始化接口InitializingBean实现在项目启动时修改数据库