精华内容
下载资源
问答
  • Mysql数据库文档生成工具

    千次下载 热门讨论 2016-02-16 22:21:52
    给大家介绍一款数据库文档生成工具 目前只支持mysql 主要是生成docx的 客户有些时候需要数据库文档,为了方便,于是我就写了这个工具, 通过数据库读取相关表数据,达到输出所有注释到文档中,大大提高了工作效率
  • 数据库设计文档生成工具

    千次阅读 多人点赞 2021-06-15 17:02:23
    在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,如果数据库表结构更新了还得手动更新维护到文档中,很是繁琐。GitHub 上发现了一个好工具 screw(螺丝钉),在此分享下 1、引入依赖 <!-- screw...

    在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,如果数据库表结构更新了还得手动更新维护到文档中,很是繁琐。GitHub 上发现了一个好工具 screw(螺丝钉),在此分享下

    • 1、引入依赖
    <!-- screw核心 -->
    <dependency>
        <groupId>cn.smallbun.screw</groupId>
        <artifactId>screw-core</artifactId>
        <version>1.0.5</version>
    </dependency>
    <!-- HikariCP数据库连接池 -->
    <dependency>
        <groupId>com.zaxxer</groupId>
        <artifactId>HikariCP</artifactId>
        <version>3.4.5</version>
    </dependency>
    <!-- mysql连接驱动 -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.20</version>
        <scope>runtime</scope>
    </dependency>
    

    核心 cn.smallbun.screw

    • 2、生成工具类
    import cn.smallbun.screw.core.Configuration;
    import cn.smallbun.screw.core.engine.EngineConfig;
    import cn.smallbun.screw.core.engine.EngineFileType;
    import cn.smallbun.screw.core.engine.EngineTemplateType;
    import cn.smallbun.screw.core.execute.DocumentationExecute;
    import cn.smallbun.screw.core.process.ProcessConfig;
    import com.zaxxer.hikari.HikariConfig;
    import com.zaxxer.hikari.HikariDataSource;
    
    import javax.sql.DataSource;
    import java.util.ArrayList;
    
    /**
     * 数据库设计文档生成类
     */
    public class BuildDatabaseDoc {
        /**
         * 文档生成
         */
        public static void main(String[] args) {
            // 数据源
            HikariConfig hikariConfig = new HikariConfig();
            // 数据库连接信息
            hikariConfig.setDriverClassName("com.mysql.cj.jdbc.Driver");
            hikariConfig.setJdbcUrl("jdbc:mysql://localhost:3306/walking?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC");
            hikariConfig.setUsername("root");
            hikariConfig.setPassword("123456");
            // 设置可以获取tables remarks信息
            hikariConfig.addDataSourceProperty("useInformationSchema", "true");
            hikariConfig.setMinimumIdle(2);
            hikariConfig.setMaximumPoolSize(5);
            DataSource dataSource = new HikariDataSource(hikariConfig);
            // 生成配置
            EngineConfig engineConfig = EngineConfig.builder()
                    // 生成文件路径
                    .fileOutputDir("E:/")
                    // 打开目录
                    .openOutputDir(true)
                    // 文件类型
                    .fileType(EngineFileType.HTML)
                    // 生成模板实现
                    .produceType(EngineTemplateType.freemarker)
                    // 自定义文件名称
                    .fileName("数据库设计文档").build();
    
            // 忽略表
            ArrayList<String> ignoreTableName = new ArrayList<>();
            ignoreTableName.add("test_user");
            ignoreTableName.add("test_group");
            // 忽略表前缀
            ArrayList<String> ignorePrefix = new ArrayList<>();
            ignorePrefix.add("test_");
            // 忽略表后缀
            ArrayList<String> ignoreSuffix = new ArrayList<>();
            ignoreSuffix.add("_test");
            ProcessConfig processConfig = ProcessConfig.builder()
                    // 指定生成逻辑、当存在指定表、指定表前缀、指定表后缀时,将生成指定表,其余表不生成、并跳过忽略表配置
                    // 根据名称指定表生成
                    .designatedTableName(new ArrayList<>())
                    // 根据表前缀生成
                    .designatedTablePrefix(new ArrayList<>())
                    // 根据表后缀生成
                    .designatedTableSuffix(new ArrayList<>())
                    // 忽略表名
                    .ignoreTableName(ignoreTableName)
                    // 忽略表前缀
                    .ignoreTablePrefix(ignorePrefix)
                    // 忽略表后缀
                    .ignoreTableSuffix(ignoreSuffix).build();
            // 配置
            Configuration config = Configuration.builder()
                    // 版本
                    .version("1.0.0")
                    // 描述
                    .description("数据库设计文档")
                    // 数据源
                    .dataSource(dataSource)
                    // 生成配置
                    .engineConfig(engineConfig)
                    // 生成配置
                    .produceConfig(processConfig)
                    .build();
            // 执行生成
            new DocumentationExecute(config).execute();
        }
    }
    
    • 3、效果图预览
      效果图1
      效果图2

    如您在阅读中发现不足,欢迎留言!!!

    展开全文
  • 自动生成代码工具 数据库工具

    万次阅读 2019-09-20 15:59:31
    自动生成代码工具 数据库工具类 import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; i...

                                                        自动生成代码工具 数据库工具类

    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.ijwt.element.Constants;
    
    /**
     * @author InJavaWeTrust
     */
    public class UtilDB {
    	
    	private static Connection conn      = null;
    	private static Statement st         = null;
    	private static ResultSet rs         = null;
    	private static DatabaseMetaData dmd = null;
    	private static Logger log = LoggerFactory.getLogger(UtilDB.class);
    	
    	private UtilDB() {}
    	
    	/**
    	 * 连接数据库
    	 * @return
    	 */
    	public static Connection connection() {
    		try {
    			Class.forName(Constants.DRIVER);
    			conn = DriverManager.getConnection(Constants.URL, Constants.USER, Constants.PASSWORD);
    		} catch (ClassNotFoundException | SQLException e) {
    			log.error(e.getMessage());
    		}
    		return conn;
    	}
    	
    	/**
    	 * 关闭链接
    	 * @param rs
    	 * @param st
    	 * @param conn
    	 */
    	public static void release(ResultSet rs, Statement st, Connection conn) {
    		try {
    			if (null != rs) {
    				rs.close();
    			}
    		} catch (Exception e) {
    			log.error(e.getMessage());
    		}
    		try {
    			if (null != st) {
    				st.close();
    			}
    		} catch (Exception e) {
    			log.error(e.getMessage());
    		}
    		try {
    			if (null != conn) {
    				conn.close();
    			}
    		} catch (Exception e) {
    			log.error(e.getMessage());
    		}
    	}
    	
    	/**
    	 * 根据表名查询表中列注释
    	 * @param tableName 表名
    	 * @return List<String>
    	 */
    	public static List<String> getColumnCommentByTableName(String tableName) {
    		List<String> columnComments = new ArrayList<>();
    		connection();
    		try {
    			dmd = conn.getMetaData();
    			rs = dmd.getColumns(null, dmd.getUserName(), tableName, null);
    			while (rs.next()) {
    				columnComments.add(rs.getString("REMARKS"));
    			}
    		} catch (SQLException e) {
    			log.error(e.getMessage());
    		}
    		release(rs, st, conn);
    		return columnComments;
    	}
    	
    	/**
    	 * 根据表名查询表中列名
    	 * @param tableName 表名
    	 * @return List<String>
    	 */
    	public static List<String> getColumnNameByTableName(String tableName) {
    		List<String> columnComments = new ArrayList<>();
    		connection();
    		try {
    			dmd = conn.getMetaData();
    			rs = dmd.getColumns(null, dmd.getUserName(), tableName, null);
    			while (rs.next()) {
    				columnComments.add(rs.getString("COLUMN_NAME"));
    			}
    		} catch (SQLException e) {
    			log.error(e.getMessage());
    		}
    		release(rs, st, conn);
    		return columnComments;
    	}
    	
    	/**
    	 * 根据表名查询表中列类型
    	 * @param tableName 表名
    	 * @return List<String>
    	 */
    	public static List<String> getColumnTypeByTableName(String tableName) {
    		List<String> tableNames = new ArrayList<>();
    		connection();
    		try {
    			dmd = conn.getMetaData();
    			rs = dmd.getColumns(null, dmd.getUserName(), tableName, null);
    			while (rs.next()) {
    				tableNames.add(rs.getString("TYPE_NAME"));
    			}
    		} catch (SQLException e) {
    			log.error(e.getMessage());
    		}
    		release(rs, st, conn);
    		return tableNames;
    	}
    	
    	/**
    	 * 得到数据库中所有表名
    	 * @return List<String>
    	 */
    	public static List<String> getAllTableName() {
    		List<String> tableNames = new ArrayList<>();
    		connection();
    		try {
    			dmd = conn.getMetaData();
    			rs = dmd.getTables(null, dmd.getUserName(), null, null);
    			while (rs.next()) {
    				tableNames.add(rs.getString("TABLE_NAME"));
    			}
    		} catch (SQLException e) {
    			log.error(e.getMessage());
    		}
    		release(rs, st, conn);
    		return tableNames;
    	}
    	
    	/**
    	 * 得到数据库表注释
    	 * @param tableName 表名
    	 * @return 表注释
    	 */
    	public static String getTableCommentByTableName(String tableName) {
    		String comment  = "";
    		connection();
    		PreparedStatement pstmt = null;
    		try {
    			String sql = "SHOW TABLE STATUS WHERE NAME = ?";
    			pstmt = conn.prepareStatement(sql);
    			pstmt.setString(1, tableName);
    			rs = pstmt.executeQuery();
    			boolean has = rs.next();
    			if(has) {
    				comment = rs.getString("Comment");
    			}
    		} catch (SQLException e) {
    			log.error(e.getMessage());
    		} finally {
    			try {
    				if (null != pstmt) {
    					pstmt.close();
    				}
    			} catch (SQLException e) {
    				log.error(e.getMessage());
    			}
    		}
    		release(rs, st, conn);
    		return comment;
    	}
    	
    	public static void main(String[] args) {
    		String list = getTableCommentByTableName("dept");
    		System.out.println(list);
    	}
    }

     

    展开全文
  • MySQL数据库文档生成工具

    千次阅读 2017-03-28 16:01:32
    MySQL数据库信息自动到处为word

    1.配置文件里面配置下要导出的数据库的信息;

    复制代码
     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration
     3         PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
     4         "http://mybatis.org/dtd/mybatis-3-config.dtd">
     5 
     6 <configuration>
     7        <environments default="development">
     8               <environment id="development">
     9                      <transactionManager type="jdbc"/>
    10                      <dataSource type="POOLED">
    11                             <property name="driver" value="com.mysql.jdbc.Driver"/>
    12                             <property name="url" value="jdbc:mysql://127.0.0.1:3306/oppotemp"/>
    13                             <property name="username" value="root"/>
    14                             <property name="password" value="root"/>
    15                      </dataSource>
    16               </environment>
    17        </environments>
    18        <mappers>
    19               <mapper resource="com/zhonghua/databasetools/mapper/mymapper.xml" />
    20        </mappers>
    21 </configuration>
    复制代码

    2.打开命令端口,定位到目录下:java -jar /Users/ifaaron/JavaTools/Mysql数据库文档生成工具/database_tools.jar(可以直接把jar文件拉进命令端)

    ps:这个工具是公司内部开发,内部使用.相关源码会进行修改后公布出来;

    jar包链接:

    工具jar包链接

    展开全文
  • 数据库文档自动生成工具

    万次阅读 2018-07-04 16:06:14
    这就让人很蛋疼,考虑到后期维护与运维的感受,数据库文档和代码一样是一个项目不可缺少的一部分,所以今天准备编写数据库文档,但突然发现,每一个项目都有数据库文档,数据库文档格式统一固定,为什么不利用...

            今天突然想到前几天项目组出现的一个问题,甲员工修改了A表,但并没有通知其他人,因为该表涉及的部分模块由他负责开发,但其他人负责的模块涉及到这张表的时候就出现了一些问题,而且甲还没写字段注释。这就让人很蛋疼,考虑到后期维护与运维的感受,数据库文档和代码一样是一个项目不可缺少的一部分,所以今天准备编写数据库文档,但突然发现,每一个项目都有数据库文档,数据库文档格式统一固定,为什么不利用Apache的POI 工具包自己写个数据库文档自动生成工具呢?

            考虑到java的开源氛围,果断先百度现有工具,不重复造轮子,果然被我找到一个比较好用的工具,该工具作者想法和我一样,不过他没我幸福,因为我有这个想法的时候他的工具已经迭代到5.x版本了。不多BB附加他的CSDN下载地址,下载积分2分是给作者的,并不是我上传的。由于项目性质原因,就不给大家看数据库文档了。工具下载下来的压缩包里包含了操作手册,简单易懂。

    工具介绍博客地址 : https://blog.csdn.net/vipbooks/article/details/78767469

    工具下载地址:

    win版:https://download.csdn.net/download/vipbooks/10153225

    jar版:https://download.csdn.net/download/vipbooks/10153227

    展开全文
  • 输入数据库信息点击Generate,即可生成数据库字典 生成Word如下: 目录结构: 长按扫码关注《Java软件编程之家》微信公众号,回复关键字 “字典”即可获取源代码以及使用方式(使用起来很简单的)! ...
  • 概述: 这是我之前编写的数据库文档生成工具的核心部分。我将它进行了简化,希望对大家有用。 该工具支持的版本是:SQL Server 2000、2005、2008 这个工具要求如下运行环境 1. Windows XP或者更高版本 2. .NET ...
  • 基于Java的简单数据库设计生成工具(生成Excel文档)本工具用于将数据库表结构、主键信息和索引信息导出生成Excel文件。 主要采用jdbc连接数据库(Oracle),采用Poi生成Excel文档(2007) 配置说明及使用方法 共享源码...
  • 今天给大家介绍一款数据库文档生成工具 目前只支持mysql 主要是生成docx的 下载链接: ------------------ 客户有些时候需要数据库文档,为了方便,于是我就写了这个工具, 通过数据库读取相关表...
  • 今天为大家介绍一种根据数据库生成数据字典工具,支持access,sql,mysql,oracle等等数据库。并根据表生成的数据字典可以为excel,xml,word,txt等格式。  PDMReader 深入了解 ...
  • DBDocumentGenerator是一款可以方便地将数据库表及字段说明生成多种电子文档的工具,主要 特征如下: 一、支持的数据库 :SQL Server2005 +、MySQL、Oracle 二、支持的文档类型 :HTML、CHM、DOCX(自动生成目录) 三...
  • 数据库比对升级脚本生成工具分享

    千次阅读 2019-06-17 16:15:46
    db-utils 数据库比对升级脚本生成工具 v0.0.1 版本 说明 v0.0.1 初始版本 v0.0.1 功能简介 数据库比对升级脚本生成工具 新增的表 新增的字段 修改的字段(不支持字段编码修改) 删除的字段(这里不生成DROP...
  • 1、新增通过自定义模板生成Word文档的功能,可以使用FreeMarker模板生成自定义格式的数据库文档。 2、新增 Swagger2 在线API转离线API文档的功能,生成Word接口文档。 3、新增对 MariaDB 数据库的支持,需要删除...
  • 数据库表结构生成工具使用说明

    千次阅读 2018-01-22 15:20:22
    对于开发来说,如何规范化你的数据库表结构文档是灰常之重要的一件事情。...DBExportDoc V1.0 ForMySQL是一款利用office特性VBA开发的小工具,利用此工具可以将本机MySQL上任意数据库、任意表的数据结构
  • TableGo_20200520 v6.9.0 正式版发布,此次版本更新如下: 1、新增对JDK9及以上版本Java环境的支持 2、生成JavaBean更名为生成数据模型并且提供了C#、C++、Golang、Rust、Python、... 4、新增对数据库视图的...
  • 简易数据库代码生成工具 V1.0 发布

    千次阅读 2007-03-15 21:45:00
    简易数据库代码生成工具 V1.0 发布 下载地址: http://www.cnpack.org/showdetail.php?id=482&lang=zh-cn 简介: 在项目开发中,有许多类似的窗体需要设计,比如数据字典等操作数据库的窗体。重复的复制、修改类似...
  • 1、新增自定义文件功能,可以自己编写模板生成任意代码的文件。 2、新增数据源配置自动生成功能,项目分库分表不用愁,一次搞定所有数据源。 3、公共参数界面新增表别名和是否目录直通的配置。 4、生成Bean界面...
  • 本人写了一个数据库文档自动生成工具,可以自动生成数据库文档。 工具下载地址:https://download.csdn.net/download/jiujiya123/10618074 用java写了个 客户端界面: 输入相关信息后,可以自动生成数据库文档...
  •  TableGo是基于数据库的代码自动生成工具,可以根据数据库表结构自动生成JavaBean、生成MyBaits的Mapper映射配置文件、生成数据库设计文档、生成前后端代码等,更重要的是可以根据每个项目的不同开发框架编写自定义...
  • 【原创】Oracle数据库实体类生成工具 For Winston

    千次阅读 热门讨论 2011-05-23 22:07:00
    『Oracle数据库实体类生成工具 For Winston』,此工具是参考原Winston Tool DBToEntity(注:此工具是由我们的老大“羽扇纶巾”设计开发的,再次感谢他给我们提供了这么好的开发辅助工具)工具的实现原理,结合平时...
  • 1、新增两个扩展字段,用于生成自定义模板时使用。 2、自定义模板新增模板目录,可以选择不同分类目录下的模板。 3、自定义模板生成加强,可以根据参数自动生成文件名和扩展名。 4、自定义模板新增和调整了多个...
  • 点击菜单选择Report Wizaed 选择语言为简体中文 选择生成为rtf文件的专业模式 生成文件 5. 成功生成文档
  • visio 如何反向连接数据库生成er图( 即根据数据库自动生成ER图 ) 作者在使用中,有自动生成ER图需求.琢磨了一下,有现成的工具可以做到.现与大家分享: 本文以IBM DB2为例生成ER图.其他数据库均一样,Oracle, SQL ...
  • 1.需求描述: ...那么能否有自动化工具呢,当然有,用度娘搜索“数据库文档生成器”会出来很多个,他们的质量也会参差不齐,要么格式不满足公司文档格式需要。所以该问题的终极解决方案是理解数据库文档...
  • DBeaver - 一款免费开源的通用数据库工具

    万次阅读 多人点赞 2019-04-30 21:58:51
    DBeaver 是一款免费开源的通用数据库管理和开发工具。DBeaver 基于 Java 开发,可以运行在各种操作系统上。通过 JDBC 连接到数据库,它可以支持几乎所有的数据库产品。还等什么,下载使用吧!
  • idea 根据数据库生成JavaBean

    千次阅读 2019-04-26 11:25:28
    idae根据数据库生成相应的POJO,因为自己一个一个的写好麻烦。 1、idea首先需要连接数据库,步骤如下 2、生成POJO 然后选择生成的POJO到某一路径下,我选择放在bean包中 点击OK后就可以在...
  • v4.1.2版更新震撼发布,功能更加强大,速度过来围观,此次版本更新如下: 1、随着程序的功能越来越强大,原来的定位和设计已经无法满足更高的... 2、新增快速生成数据库设计文档和批量生成数据库设计文档的功能。 ...
  • TableGo v5.0.0版更新震撼发布,功能更加强大,速度过来围观,此次版本更新如下: 1、UI界面大改版,功能模块重新梳理,以满足... 3、新增根据数据库生成SQL功能,可根据配置自动生成各种SQL。 4、修改优化根...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 539,271
精华内容 215,708
关键字:

数据库生成工具