使用 freemarker 来生成代码,默认生成的文件位置在 target/code 目录下
<beanclass="io.github.pleuvoir.sql.MetaDataConfiguration"> <!-- 模版位置, 此为存放 ftl 文件的位置 --> <propertyname="ftlLocation"value="classpath:templates" /> <!-- 数据源 --> <propertyname="dataSourceConfig"> <beanclass="io.github.pleuvoir.sql.bean.DataSourceConfig"> <propertyname="driverClass"value="oracle.jdbc.OracleDriver" /> <propertyname="url"value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" /> <propertyname="username"value="scott" /> <propertyname="password"value="tiger" /> </bean> </property>这是生成 VO 的实现代码
DataModeldataModel = dBScriptRunner.excute(sql).asDataModel(); logger.info("根据sql生成 VO 元数据:{}", dataModel.toJSON()); // 待写入的文件位置Stringfile = LazyKit.javaAbsoluteFilePath(voName); logger.info("根据sql生成 VO【{}】,文件【{}】", voName, file); // 根据 freemark 生成文件dataModel.addData("entityName", voName).write("vo.ftl", file); // dataModel 是自己定义的数据模型,可以以 JSON 格式输出一下 ,方便在模版中使用运行 Bootstrap 试试;只有几个类,熟悉 spring 的话,想怎么用就怎么用。
新增 Generator 中新增方法即可,抛砖引玉,谢谢支持