mirror of
https://github.com/vran-dev/databasir.git
synced 2025-08-09 11:32:33 +08:00
feat: init core module
This commit is contained in:
43
core/src/test/java/App.java
Normal file
43
core/src/test/java/App.java
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user