NutzCN Logo
问答 在自定义sql文件里有没有办法插入常量类的静态属性?
发布于 19天前 作者 qq_93105859 84 次浏览 复制 上一个帖子 下一个帖子
标签:

我把字典数据全部用自定义sql写在文件里,在系统启动时初始化数据库,复制文件中一条sql如下:

/* insert_sys_dictionary_type.1 */
INSERT INTO sys_dictionary_type (dictionary_type_id,type_name,dict_type,remarks,show_user,edit,deleted) VALUES (1,'重泡比',0,null,false,false,false);

我想问的是:这里边的字段"dict_type"的值 "0"我可不可以在一个类中以静态属性或者配置文件的形式定义,然后再这个sql里我引用变量而不是写死在sql代码里?

4 回复

自定义sql支持变量和占位符呀

@xxx

	public void initDictionary() {
		// 清空数据库中已有的初始化数据
		logger.debug("开始清理数据库中初始化的字典数据…");
		dao.clear(SysDictionaryType.class, null);
		dao.clear(SysDictionaryItems.class, Cnd.where("dataType", "=", DataTypeConstant.INITIALIZED));
		logger.debug("数据库中初始化的字典数据已经清理完成,正在开始重新初始化…");
		FileSqlManager fm = new FileSqlManager("init/dictionary.sql");
		List<Sql> sqlList = fm.createCombo(fm.keys());
		dao.execute(sqlList.toArray(new Sql[sqlList.size()]));
		logger.debug("初始化字典数据完成!");
	}

这是我的代码片段,在init/dictionary.sql这个文件里有很多条插入数据的sql,如果是一条我还知道怎么设置站位符,如果是多条的话我不太好去这么做

@wendal 循环sqlList,再一条一条的设置占位符我觉得不太好弄

但就得这样弄

添加回复
请先登陆
回到顶部