feat: init core module

This commit is contained in:
vran
2021-12-28 22:55:50 +08:00
parent f92a89a473
commit d20a400931
35 changed files with 1347 additions and 1 deletions

View File

@@ -0,0 +1,43 @@
import com.databasir.core.doc.factory.DatabaseDocConfig;
import com.databasir.core.doc.factory.extension.mysql.MysqlTableTriggerDocFactory;
import com.databasir.core.doc.factory.jdbc.JdbcDatabaseDocFactory;
import com.databasir.core.doc.model.DatabaseDoc;
import com.databasir.core.doc.render.Render;
import com.databasir.core.doc.render.RenderConfig;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
public class App {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
// get database connection
Class.forName("com.mysql.cj.jdbc.Driver");
Properties info = new Properties();
info.put("user", "root");
info.put("password", "123456");
// this config is used by mysql
info.put("useInformationSchema", "true");
String url = "jdbc:mysql://localhost:3306/patient?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true";
var connection = DriverManager.getConnection(url, info);
// generate doc model
var config = DatabaseDocConfig.builder()
.databaseName("user")
.connection(connection)
.tableTriggerDocFactory(new MysqlTableTriggerDocFactory())
.build();
DatabaseDoc doc = JdbcDatabaseDocFactory.of().create(config).orElseThrow();
// render as markdown
try (FileOutputStream out = new FileOutputStream("user.md")) {
RenderConfig renderConfig = new RenderConfig();
renderConfig.setRenderTriggers(true);
Render.markdownRender(renderConfig).rendering(doc, out);
} catch (IOException e) {
throw new IllegalStateException(e);
}
}
}