Screw-Driver代码与数据库生成器
ScrewDriver是一个用于生成代码、创建或读取数据库表信息的工具包,可用于IDE编程式生成代码(包括数据库表的读取与创建)或作为其他工具的支持包!
使用帮助
运行环境要求: java >= 1.6
添加依赖
<dependency> <groupId>org.mirrentools</groupId> <artifactId>screw-driver</artifactId> <version>1.1.0</version> </dependency>
创建代码与生成数据库表示例
- 定义 SdBean
- 添加生成模板 SdTemplate
- 设置数据库连接信息 SdDatabaseOptions
- 初始化 ScrewDriver 并执行创建
public static void main(String[] args) throws Exception { // 创建一个实体描述 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")); // 初始化数据库连接信息 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"); // 初始化执行工具 ScrewDriver screwDriver = ScrewDriver.instance(new ScrewDriverOptions(templates, databaseOptions)); // 创建代码 screwDriver.createCode(bean); // 生成表 screwDriver.createTable(bean); }
读取数据库表信息并生成代码示例
- 添加生成模板 SdTemplate
- 设置数据库连接信息 SdDatabaseOptions
- 初始化 ScrewDriver
- 读取表信息并执行创建
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")); // 初始化数据库连接信息 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"); // 初始化执行工具 ScrewDriver screwDriver = ScrewDriver.instance(new ScrewDriverOptions(templates, databaseOptions)); // 读取表信息 SdClassContent content = screwDriver.readTable("root"); // 创建代码 screwDriver.createCode(content); }
评论
scaffold基于数据库定义的代码生成器
scaffold 是一款基于数据库定义的代码生成器。它是如何工作的?正如我们所知,go中进行json字符串的编码/解码过程中,可以通过对象定义时字段的tag定义,对字段进行补充说明。如下例:typeJ
scaffold基于数据库定义的代码生成器
0
analysis230.github.ioG 代码生成器
G 代码(G-code,又称RS-274),是最为广泛使用的数控(numerical control
analysis230.github.ioG 代码生成器
0
LT.VS2005AddIns代码生成器
针对VS2005/VS2008开发的一套轻量级代码生成器,使用非常简单。支持多种数据库连接:MSSQL、MySQL、Access、SQLite等支持自定义模板(使用XSL文件作为模板,只要熟悉XML就
LT.VS2005AddIns代码生成器
0
Codgen代码生成器
Codgen是一个基于数据库元数据模型,使用freemarker模板引擎来构建输出的代码生成器。freemarker的数据模型结构通常来说都是一个Map树状结构模型,codgen也不例外,它的数据模型
Codgen代码生成器
0