Screw-Driver代碼與數(shù)據(jù)庫生成器
ScrewDriver是一個用于生成代碼、創(chuàng)建或讀取數(shù)據(jù)庫表信息的工具包,可用于IDE編程式生成代碼(包括數(shù)據(jù)庫表的讀取與創(chuàng)建)或作為其他工具的支持包!
使用幫助
運行環(huán)境要求: java >= 1.6
添加依賴
<dependency>
<groupId>org.mirrentools</groupId>
<artifactId>screw-driver</artifactId>
<version>1.1.0</version>
</dependency>
創(chuàng)建代碼與生成數(shù)據(jù)庫表示例
- 定義 SdBean
- 添加生成模板 SdTemplate
- 設置數(shù)據(jù)庫連接信息 SdDatabaseOptions
- 初始化 ScrewDriver 并執(zhí)行創(chuàng)建
public static void main(String[] args) throws Exception {
// 創(chuàng)建一個實體描述
SdBean bean = new SdBean();
bean.setName("user").setRemark("用戶");
bean.addColumn(new SdColumn().setName("id").setType(SdType.LONG).setPrimary(true).setRemark("用戶的id"));
bean.addColumn(new SdColumn().setName("name").setType(SdType.STRING).setLength(30).setRemark("用戶的名字"));
bean.addColumn(new SdColumn().setName("pwd").setType(SdType.STRING).setLength(60).setRemark("用戶的的密碼"));
// 設置實體生成模板
Map<String, SdTemplate> templates = new HashMap<String, SdTemplate>();
templates.put("entity", new SdTemplate().setFile("JavaEntity.ftl").setPackageName("entity").setClassName("User"));
templates.put("dao", new SdTemplate().setFile("Dao.ftl").setPackageName("dao").setClassName("Dao"));
templates.put("service", new SdTemplate().setFile("Service.ftl").setPackageName("service").setClassName("Service"));
templates.put("controller", new SdTemplate().setFile("Controller.ftl").setPackageName("controller").setClassName("Controller"));
// 初始化數(shù)據(jù)庫連接信息
SdDatabaseOptions databaseOptions = new SdDatabaseOptions(MySQL.MYSQL_8_DERVER, "jdbc:mysql://localhost:3306/root?useUnicode=true&useSSL=false&serverTimezone=UTC");
databaseOptions.setUser("root");
databaseOptions.setPassword("root");
// 初始化執(zhí)行工具
ScrewDriver screwDriver = ScrewDriver.instance(new ScrewDriverOptions(templates, databaseOptions));
// 創(chuàng)建代碼
screwDriver.createCode(bean);
// 生成表
screwDriver.createTable(bean);
}
讀取數(shù)據(jù)庫表信息并生成代碼示例
- 添加生成模板 SdTemplate
- 設置數(shù)據(jù)庫連接信息 SdDatabaseOptions
- 初始化 ScrewDriver
- 讀取表信息并執(zhí)行創(chuàng)建
public static void main(String[] args) throws Exception {
// 設置實體生成模板
Map<String, SdTemplate> templates = new HashMap<String, SdTemplate>();
templates.put("entity", new SdTemplate().setFile("JavaEntity.ftl").setPackageName("entity").setClassName("User"));
templates.put("dao", new SdTemplate().setFile("Dao.ftl").setPackageName("dao").setClassName("Dao"));
templates.put("service", new SdTemplate().setFile("Service.ftl").setPackageName("service").setClassName("Service"));
templates.put("controller", new SdTemplate().setFile("Controller.ftl").setPackageName("controller").setClassName("Controller"));
// 初始化數(shù)據(jù)庫連接信息
SdDatabaseOptions databaseOptions = new SdDatabaseOptions(MySQL.MYSQL_8_DERVER, "jdbc:mysql://localhost:3306/root?useUnicode=true&useSSL=false&serverTimezone=UTC");
databaseOptions.setUser("root");
databaseOptions.setPassword("root");
// 初始化執(zhí)行工具
ScrewDriver screwDriver = ScrewDriver.instance(new ScrewDriverOptions(templates, databaseOptions));
// 讀取表信息
SdClassContent content = screwDriver.readTable("root");
// 創(chuàng)建代碼
screwDriver.createCode(content);
}
評論
圖片
表情
