Screw-Driver

代码与数据库生成器
授权协议 MIT
开发语言 Java
所属分类 程序开发、 代码生成工具
软件类型 开源软件
地区 国产
投 递 者 欧镜
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ScrewDriver是一个用于生成代码、创建或读取数据库表信息的工具包,可用于IDE编程式生成代码(包括数据库表的读取与创建)或作为其他工具的支持包!

使用帮助

帮助文档

运行环境要求: java >= 1.6

添加依赖

<dependency>
    <groupId>org.mirrentools</groupId>
    <artifactId>screw-driver</artifactId>
    <version>1.1.0</version>
</dependency>

创建代码与生成数据库表示例

  1. 定义 SdBean
  2. 添加生成模板 SdTemplate
  3. 设置数据库连接信息 SdDatabaseOptions
  4. 初始化 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);
}

读取数据库表信息并生成代码示例

  1. 添加生成模板 SdTemplate
  2. 设置数据库连接信息 SdDatabaseOptions
  3. 初始化 ScrewDriver
  4. 读取表信息并执行创建
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);
}
  • 工具介绍 在企业级开发中、我们经常会有编写数据库表结构文档的时间付出 工具地址:https://gitee.com/leshalv/screw 工具依赖 <dependencies> <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId>

  • 项目结项后整理相关数据文档,发现好用的插件; 将连接整理如下:被后续开发中使用 完整的笔记原文 以上原文亲测无误: 将重点过程摘录如下,被后续开发使用,如有问题,请留言讨论: 一、该插件支持一下数据库: 数据库支持 MySQL MariaDB TIDB Oracle SqlServer PostgreSQL Cache DB 二、配置 1、pom文件 引入screw核心包,HikariCP数据库连

  • 1、打开 https://toscode.gitee.com/leshalv/screw 下载zip代码然后解压 2、创建一个srpingboot项目,或者在已有的springboot项目的pom文件中引入screw模块 在项目的pom.xml中加上引用 <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>s

  • pom文件 <!-- screw 库,简洁好用的数据库表结构文档生成器 --> <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.5</version> </dependency> <!--my

  • 使用screw生成数据库文档 项目地址 https://gitee.com/leshalv/screw 步骤 1.引入依赖 <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.5</version> </dependency>

  • 1. 开源的代码仓库地址 https://gitee.com/leshalv/screw.git 2. 基本使用 2.1 通过maven引入核心代码包 <dependency> <groupId>cn.smallbun.screw</groupId> <artifactId>screw-core</artifactId> <version>1.0.5</version>

 相关资料
  • 为了方便一部分人还是做了一个代码生成器的,但我本人不喜欢用代码生成器,除非项目比较庞大的时候。 代码生成器的代码在 codegen 这里,它是一个maven工程, 你只需要下载下来修改一下配置就可以了: public static void main(String[] args) throws IOException { DBMeta dbMeta = new DBMeta()

  • 我们正在改变数据库,从一个支持8位int的数据库到一个不支持8位int的数据库。当Liquibase创建一个DB导致jOOQ生成“短”变量时,我们的代码会中断,但我们的代码使用字节/字节-这会中断代码签名。 有人建议我们继续使用以前的数据库(HSQLDB)来生成代码,而不是重新编码,它“应该”与新数据库一起运行。有不同的意见,除了直觉,我找不到任何决定性的东西,这似乎与jOOQ的设计目的背道而驰。

  • 鉴于每个用户的使用习惯问题,EasySwoole本身并不提供封装好的数据库操作与Model层,但我们强力推荐在项目中使用第三方开源库https://github.com/joshcam/PHP-MySQLi-Database-Class 作为数据操作类库,并构建自己的Model。 使用指导 项目引入 克隆(下载)MySQLi项目,并解压提取其中的MysqliDb.php文件,放入项目 ‘/App/

  • 问题:如何让SonarQube从代码分析结果生成报告?

  • 我正在根据参考指南学习使用Map结构。日食验证是 面向Web开发人员的Eclipse Java EE IDE。版本:开普勒服务版本2 pom。xml如下所示,与参考指南相同 它表示在构建项目时将生成实现代码。但是,它似乎不会在目标/生成的源文件夹下生成

  • Jboot 内置了一个简易的代码生成器,可以用来生成model层和Service层的基础代码,在生成代码之前,请先配置jboot.properties关于数据库相关的配置信息,Jboot 代码生成器会通过该配置去链接数据库。 jboot.datasource.type=mysql jboot.datasource.url=jdbc:mysql://127.0.0.1:3306/jbootdemo