1. 程式人生 > 實用技巧 >screw-一鍵生成資料庫文件

screw-一鍵生成資料庫文件

參考文章

  1. Github地址
  2. 例項參考

整體思路

  1. 匯入依賴
        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.30</version>
        </dependency>

        <dependency>
            <groupId>cn.smallbun.screw</groupId>
            <artifactId>screw-core</artifactId>
            <version>1.0.3</version>
        </dependency>

        <dependency>
            <groupId>com.zaxxer</groupId>
            <artifactId>HikariCP</artifactId>
            <version>3.4.5</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
        </dependency>
  1. 功能程式碼
public class TestUtil {

    public static void main(String[] args) {
        HikariConfig hikariConfig = new HikariConfig();
        hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
        hikariConfig.setJdbcUrl("jdbc:mysql://119.23.40.67:3306/cgdb200601");
        hikariConfig.setUsername("root");
        hikariConfig.setPassword("egova");
        // 設定可以獲取tables remarks資訊
        hikariConfig.addDataSourceProperty("useInformationSchema", "true");
        hikariConfig.setMinimumIdle(2);
        hikariConfig.setMaximumPoolSize(5);
        DataSource dataSource = new HikariDataSource(hikariConfig);

        // 1、生成檔案配置
        EngineConfig engineConfig = EngineConfig.builder()
                // 生成檔案路徑
                .fileOutputDir("C:\\database2MD")
                // 開啟目錄
                .openOutputDir(false)
                // 檔案型別
                .fileType(EngineFileType.MD)
                // 生成模板實現
                .produceType(EngineTemplateType.freemarker).build();

        List<String> designatedPrefix = Arrays.asList("mf_road");

        // 2、配置想要獲取或忽略的表
        ProcessConfig processConfig = ProcessConfig.builder().designatedTablePrefix(designatedPrefix).build();

        // 3、生成文件配置(包含以下自定義版本號、描述等配置連線)
        Configuration config = Configuration.builder().version("1.0.0").description("資料庫文件").dataSource(dataSource)
                .engineConfig(engineConfig).produceConfig(processConfig).build();

        // 4、執行生成
        new DocumentationExecute(config).execute();
    }
}
  1. 常見問題