在程序二次开发或者其他情况,需要在原来已经使用的mysql数据库中在某表中添加某字段,就需要在java代码中实现,在程序初始化的过程中检查及增加需要的表字段。实现方式如下。
检查数据库中的表中的某个字段是否存在如果不存在则添加该字段
检查数据库中的表中的某个字段是否存在,网上好多介绍使用的sql语句都是: count(*) from . where = '表名字' and = '字段名',不建议大家使用,因为这样查询的是mysql中所有数据库中所有使用该表名字的数据表,然后查询使用该字段名的数量,他是没有选中数据库的,所以这样查询出来的结果可能不是你想要的结果。
应该使用sql语句:SHOW FROM '数据表' LIKE '字段名'
@Select("SHOW COLUMNS FROM '数据表' LIKE '字段名'")
//返回值为0则代表不存在字段,1表示存在字段
Object isExist();
@Select("ALTER TABLE '表名字' ADD '字段名' '字段属性'")
void add();
添加自己的启动加载类
@Component
public class MyApplicationRunner implements ApplicationRunner {
@Autowired
private CarRealReceiveBayonetDao realReceiveBayonetDao;
@Override
public void run(ApplicationArguments args) throws Exception {
// 检查表中是否存在字段,没有则新增
if (realReceiveBayonetDao.isExist() == null ) realReceiveBayonetDao.add();
}
}