数据初始化
有些功能模块上线时,需要初始化一些数据
可以在 resources 下的 cool/data/db
目录创建 demo.json
文件
json 格式如下,demo 为表的名称,里面是个数组,数组里可以包含多个对象,每个对象中的 key 为表的字段,value 为对应的值
规范:实体需以 Entity 结尾
json
{
"demo": [
{
"keyName": "rich",
"name": "富文本参数",
"remark": null
},
{
"keyName": "json",
"name": "JSON参数",
"remark": null
}
]
}
创建 demo.json 文件后,在项目启动的时候会去加载该文件,并实现值的插入
处理逻辑在以下方法
java
package com.cool.core;
/**
* 数据库初始数据初始化 在 classpath:cool/data/db 目录下创建.json文件 并定义表数据,
* 由该类统一执行初始化
**/
@Slf4j
@RequiredArgsConstructor
public class DBFromJsonInit implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
// 初始化自定义的数据
extractedDb();
// 初始化菜单数据
extractedMenu();
log.info("数据初始化完成!");
}
//......
}
注意:如果同一张表历史已经有初始化过数据,在某个版本需要新增数据的话,要新增一个.json 文件;
比如 demoV2.json, 如果在原文件直接修改将不生效,加载成功后文件名称将被当作唯一键标识,不会重复初始化。