md文件生成Java代码_Beetlsql自定义生成entity,mapper,md代码
packagecom.github.tungss.auth;import org.beetl.sql.core.*;import org.beetl.sql.core.db.*;import org.beetl.sql.core.kit.*;import org.beetl.sql.ext.gen.*;import java.io.*;importjava.util.Set;/*** 生成dao代碼.*/
public classBeetlGenCode {//========數(shù)據(jù)庫(kù)配置=========
private static String driver = "com.mysql.cj.jdbc.Driver";private static String url = "jdbc:mysql:///auth?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC";private static String userName = "root";private static String password = "123456";//========模板的路徑, 示例是spring boot的[src/main/resources/beetlsqlTemplate 文件夾]=========
private static String templatePath = "/beetlsqlTemplate";//========md生成路徑 要提前創(chuàng)建=========
private static String mdPath = "/sql";//========生成實(shí)體類所在的包=========
private static String pojoPkg = "com.test.entity";//========生成mapper類所在的包=========
private static String mapperPkg = "com.test.dao";/*** 入口*/
public static void main(String[] args) throwsException {
genAll();
}public static void genAll() throwsException {//準(zhǔn)備工作
ConnectionSource source =ConnectionSourceHelper.getSimple(driver, url, userName, password);
DBStyle mysql= newMySqlStyle();
SQLLoader loader= newClasspathLoader(mdPath);
UnderlinedNameConversion nc= newUnderlinedNameConversion();
SQLManager sqlManager= new SQLManager(mysql, loader, source, nc, null);
GenConfig config= newGenConfig();
config.setDisplay(false);
config.setPreferBigDecimal(true);
System.out.println("======生成代碼======");
Set tables =sqlManager.getMetaDataManager().allTable();for(String table : tables) {
System.out.printf("%-20s %s\n",table , "生成完畢");//默認(rèn)生成實(shí)體類的實(shí)現(xiàn)
sqlManager.genPojoCode(table, pojoPkg, config);//自定義實(shí)現(xiàn)
genMd(sqlManager, config, table);//自定義實(shí)現(xiàn)
genMapper(sqlManager, config, table);
}
System.out.println("=====生成完畢=====");
}/*** 生成md文件*/
public static void genMd(SQLManager sqlManager, GenConfig config, String table) throwsIOException {
String fileName=StringKit.toLowerCaseFirstOne(sqlManager.getNc().getClassName(table));if (config.getIgnorePrefix() != null && !config.getIgnorePrefix().trim().equals("")) {
fileName= fileName.replaceFirst(StringKit.toLowerCaseFirstOne(config.getIgnorePrefix()), "");
fileName=StringKit.toLowerCaseFirstOne(fileName);
}
String target= GenKit.getJavaResourcePath() + "/" + mdPath + "/" + fileName + ".md";
TableDesc desc=sqlManager.getMetaDataManager().getTable(table);
FileWriter writer= new FileWriter(newFile(target));
MDCodeGen mdCodeGen= newMDCodeGen();
mdCodeGen.setMapperTemplate(config.getTemplate(templatePath+ "/md.btl"));
mdCodeGen.genCode(sqlManager.getBeetl(), desc, sqlManager.getNc(),null, writer);
writer.close();
}/*** 生成mapper*/
public static voidgenMapper(SQLManager sqlManager, GenConfig config, String table) {
MapperCodeGen mapperCodeGen= newMapperCodeGen(mapperPkg);
mapperCodeGen.setMapperTemplate(config.getTemplate(templatePath+ "/mapper.btl"));
mapperCodeGen.genCode(pojoPkg, sqlManager.getNc().getClassName(table), sqlManager.getMetaDataManager().getTable(table),null, false);
}
}
總結(jié)
以上是生活随笔為你收集整理的md文件生成Java代码_Beetlsql自定义生成entity,mapper,md代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 文件编码 查询系统_javaw
- 下一篇: java美元兑换,(Java实现) 美元