CN109933571A - 数据库设计文档生成方法、装置及计算机可读存储介质 - Google Patents
数据库设计文档生成方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109933571A CN109933571A CN201910063672.XA CN201910063672A CN109933571A CN 109933571 A CN109933571 A CN 109933571A CN 201910063672 A CN201910063672 A CN 201910063672A CN 109933571 A CN109933571 A CN 109933571A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- design documentation
- file
- tables
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库设计文档生成方法,该方法包括:连接用户配置的目标数据库;加载所述目标数据库中的数据表;获取用户配置的所述目标数据库中的公共参数;调用JavaBean组件,并基于所述数据表中的数据,生成Bean配置文件;调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;根据MyBaits映射文件,生成所述目标数据库的设计文档。本发明还提出一种数据库设计文档生成装置以及一种计算机可读存储介质。本发明提供了自动化生成数据库设计文档的功能,更满足开发人员个性化需求,使开发人员的工作效率大大提升。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据库设计文档生成方法、装置及计算机可读存储介质。
背景技术
目前现有技术中利用MyEclipse连接数据库生成JavaBean的工具,但这些工具存在包括表和表字段的comment无法自动生成、而且在生成的数据库设计文档中也会生成很多无用注释代码,在配置数据库设计文档时也非常繁琐。
发明内容
本发明提供一种数据库设计文档生成方法、装置及计算机可读存储介质,其主要目的在于自动化生成数据库设计文档的功能,更满足开发人员个性化需求,使开发人员的工作效率大大提升。
为实现上述目的,本发明还提供一种数据库设计文档生成方法,所述方法包括:
连接用户配置的目标数据库;
加载所述目标数据库中的数据表;
获取用户配置的所述目标数据库中的公共参数;
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
根据MyBaits映射文件,生成所述目标数据库的设计文档。
优选地,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。
优选地,所述调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件包括:
通过所述公共参数查询所述目标数据库中表的字段,获得各个字段名,通过元数据获取每个字段的数据类型,再通过判断将目标数据库中的数据类型转换成java中对应的数据类型。通过循环遍历所述目标数据库以及根据javaBean的标准,通过文件操作将java文件生成在项目下对应的包路径中作为Bean配置文件。
优选地,所述调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件包括:
根据所述公共参数及所述Bean配置文件,配置MyBaits映射文件中操作所述数据表的SQL,所述SQL包括查询对象、输入类型、输出类型、查询条件。
优选地,所述根据MyBaits映射文件,生成所述目标数据库的设计文档包括:
加载配置并初始化;
获取所述MyBaits映射文件中的SQL配置信息,将SQL的配置信息加载成MappedStatement对象;
调用Mybatis提供的API传递传入参数;
根据SQL配置信息中的ID查找对应的MappedStatement对象;
根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数;
获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果;
根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到数据库设计文档。
优选地,所述方法还包括:
提供自定义文件配置界面,接收用户在提供自定义文件配置界面上的编写模板,并生成与接收的模块数据对应的代码文件以生成用户自定义模板。
优选地,所述方法还包括:
提供集成使用工具,所述使用工具包括:string字符串拼接,清除stringbuffer,字符串格式化,数据表命名转驼峰命名,驼峰命名转数据表命名,JSON字符串格式化,XML字符串格式化。
为实现上述目的,本发明还提供一种数据库设计文档生成装置,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据库设计文档程序,所述数据库设计文档程序被所述处理器执行时实现如下步骤:
连接用户配置的目标数据库;
加载所述目标数据库中的数据表;
获取用户配置的所述目标数据库中的公共参数;
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
根据MyBaits映射文件,生成所述目标数据库的设计文档。
优选地,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库设计文档程序,所述数据库设计文档程序可被一个或者多个处理器执行,以实现如上所述的数据库设计文档生成方法的步骤。
本发明连接用户配置的目标数据库;加载所述目标数据库中的数据表;获取用户配置的所述目标数据库中的公共参数;调用JavaBean组件,并基于所述数据表中的数据,生成Bean配置文件;调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;根据MyBaits映射文件,生成所述目标数据库的设计文档。本发明提供了自动化生成数据库设计文档的功能,更满足开发人员个性化需求,使开发人员的工作效率大大提升。
附图说明
图1为本发明一实施例提供的数据库设计文档生成方法的流程示意图;
图2为本发明一实施例提供的数据库设计文档生成装置的内部结构示意图;
图3为本发明一实施例提供的数据库设计文档生成装置中数据库设计文档程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据库设计文档生成方法。参照图1所示,为本发明一实施例提供的数据库设计文档生成方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,数据库设计文档生成方法包括:
S10、连接用户配置的目标数据库。
在本实施例中,获取用户在用户界面上输入的目标数据库的IP地址,登录目标数据库的用户名及密码,根据所述目标数据库的IP地址,登陆目标数据库的用户名及密码成功连接用户配置的目标数据库。
在本实施中,所述目标数据库可以是mysql数据库,Access、mysql、sql server数据库。
S11、加载所述目标数据库中的数据表。
在本实施例中,加载的数据表可以是一个或者多个。当是多个数据库时,可以批量加载多个数据表,无需一个个地加载,这样在生成数据库设计文档时,可以也批量生成。
S12、获取用户配置的所述目标数据库中的公共参数。
在本实施例中,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。所述公共参数是用户在界面上设置的,用于后续根据所述参数配置Bean文件及MyBaits映射文件。所述公共参数用于配置在设计数据库时,用户可以查询的方式权限、存储路径、数据表的命名方式等等。
在设计数据库时,SQL语句中的查询方式可以有以下几种:
精确匹配检索是指检索词与资源库中某一字段完全相同的检索方式。模糊匹配是指无论词的位置怎样,只要出现该词即可。精确匹配是指将输入的检索词当固定词组进行检索,而模糊匹配则会自动拆分检索词为单元概念,并进行逻辑与运算。精确匹配可以精确找到定位信息,但是仅仅通过精确匹配是很难满足所有的情况的。
使用精确匹配,仅当搜索词与库中的关键词完全一致时,搜索结果才能出现。如设置开启精确匹配扩展(地域词扩展)功能,则当设置的关键词中,包含地域性词时,位于该地域的网民(按IP地址判断)搜索除去地域词以外的部分,也可能展现您的推广结果。
在精确匹配下:
1.能触发结果的搜索词:一模一样的词
2.不能触发结果的搜索词包括:
(1)同义近义词
(2)相关词
(3)变体形式(如,加空格、语序颠倒、错别字等)
(4)完全包含关键词的短语(语序不能颠倒)
3.如开启精确匹配扩展(地域词扩展)功能,在该地域下能触发结果。
使用模糊搜索可以用于搜索关键字的同义词,提高搜索的精确性。当摸索目标不是很明确的时候,比如你只知道你要搜索的人的姓氏,而不知道具体的名字的时候.就可以模糊搜索,这时候只是对姓氏进行匹配,而不查找全称,当然结果是你可能获得一大批你不想要的信息,不过可以多加些搜索条件也可以达到搜索目的。
S13、调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件。
在本实施例中,所述Bean配置文件包括:所述数据表中的参数设置、字段设置、文件注释和类注释。
JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制(反射机制)发现和操作这些JavaBean的属性。
一个JavaBean由3部分组成:
(1)属性(properties)
JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。比如,可能bean有一个名字属性,这个属性的值可能需要调用StringgetName()方法读取,而写入属性值可能要需要调用void setName(String str)的方法。
(2)方法(method)
JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。默认情况下,所有bean的公有方法都可以被外部调用,但bean一般只会引出其公有方法的一个子集。
因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。
(3)事件(event)
事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件***对象。当事件源检测到发生了某种事件时,它将调用事件***对象中的一个适当的事件处理方法来处理这个事件。
在一具体实现中,通过所述公共参数查询所述目标数据库中表的字段,获得各个字段名,通过元数据获取每个字段的数据类型,再通过判断将目标数据库中的数据类型转换成java中对应的数据类型。通过循环遍历所述目标数据库以及根据javaBean的标准,通过文件操作将java文件生成在项目下对应的包路径中作为Bean配置文件。
生成Bean配置文件的代码如下:package createjavaBean;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class CreateJavaBean extends ConnectionDatabase{
//包名
public static String strpackage;
//数据库表名
public static String tableName;
S14、调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件。
在本实施例中,所述调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件包括:
根据所述公共参数及所述Bean配置文件,配置MyBaits映射文件中操作所述数据表的SQL,所述SQL包括查询对象、输入类型、输出类型、查询条件。
MyBatis是持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录。
在一具体实现中,MyBatis工具是第三方工具,Mapper映射文件是一个xml格式文件,Mapper映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert、update、delete、select(增删改查);cache、cache-ref、resultMap、parameterMap、sql。
S15、根据MyBaits映射文件,生成所述目标数据库的设计文档。
在本实施例中,所述根据MyBaits映射文件,生成所述目标数据库的设计文档包括:
加载配置并初始化;
获取所述MyBaits映射文件中的SQL配置信息,将SQL的配置信息加载成MappedStatement对象;
调用Mybatis提供的API传递传入参数;
根据SQL配置信息中的ID查找对应的MappedStatement对象;
根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数;
获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果;
根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到数据库设计文档。
在一实施例中,所述方法还包括:
提供自定义文件配置界面,接收用户在提供自定义文件配置界面上的编写模板,并生成与接收的模块数据对应的代码文件以生成用户自定义模板。这样用户可以根据所需选择自定义模板,也可以自己创建自定义模板。
在一实施例中,所述方法还包括:
提供集成使用工具,所述使用工具包括:string字符串拼接,清除stringbuffer,字符串格式化,数据表命名转驼峰命名,驼峰命名转数据表命名,JSON字符串格式化,XML字符串格式化。从而可以更高效地自动生成文档。
本发明连接用户配置的目标数据库;加载所述目标数据库中的数据表;获取用户配置的所述目标数据库中的公共参数;调用JavaBean组件,并基于所述数据表中的数据,生成Bean配置文件;调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;根据MyBaits映射文件,生成所述目标数据库的设计文档。本发明提供了自动化生成数据库设计文档的功能,更满足开发人员个性化需求,使开发人员的工作效率大大提升。
本发明还提供一种数据库设计文档生成装置。参照图2所示,为本发明一实施例提供的数据库设计文档生成装置的内部结构示意图。
在本实施例中,数据库设计文档生成装置1可以是个人电脑(Personal Computer,PC),也可以是智能手机、平板电脑、便携计算机等终端设备。该数据库设计文档生成装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据库设计文档生成装置1的内部存储单元,例如该数据库设计文档生成装置1的硬盘。存储器11在另一些实施例中也可以是数据库设计文档生成装置1的外部存储设备,例如数据库设计文档生成装置1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据库设计文档生成装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据库设计文档生成装置1的应用软件及各类数据,例如数据库设计文档程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据库设计文档程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据库设计文档生成装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及数据库设计文档程序01的数据库设计文档生成装置1,本领域技术人员可以理解的是,图1示出的结构并不构成对数据库设计文档生成装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有数据库设计文档程序01;处理器12执行存储器11中存储的数据库设计文档程序01时实现如下步骤:
连接用户配置的目标数据库。
在本实施例中,获取用户在用户界面上输入的目标数据库的IP地址,登录目标数据库的用户名及密码,根据所述目标数据库的IP地址,登陆目标数据库的用户名及密码成功连接用户配置的目标数据库。
在本实施中,所述目标数据库可以是mysql数据库,Access、mysql、sql server数据库。
加载所述目标数据库中的数据表。
在本实施例中,加载的数据表可以是一个或者多个。当是多个数据库时,可以批量加载多个数据表,无需一个个地加载,这样在生成数据库设计文档时,可以也批量生成。
获取用户配置的所述目标数据库中的公共参数。
在本实施例中,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。所述公共参数是用户在界面上设置的,用于后续根据所述参数配置Bean文件及MyBaits映射文件。所述公共参数用于配置在设计数据库时,用户可以查询的方式权限、存储路径、数据表的命名方式等等。
在设计数据库时,SQL语句中的查询方式可以有以下几种:
精确匹配检索是指检索词与资源库中某一字段完全相同的检索方式。模糊匹配是指无论词的位置怎样,只要出现该词即可。精确匹配是指将输入的检索词当固定词组进行检索,而模糊匹配则会自动拆分检索词为单元概念,并进行逻辑与运算。精确匹配可以精确找到定位信息,但是仅仅通过精确匹配是很难满足所有的情况的。
使用精确匹配,仅当搜索词与库中的关键词完全一致时,搜索结果才能出现。如设置开启精确匹配扩展(地域词扩展)功能,则当设置的关键词中,包含地域性词时,位于该地域的网民(按IP地址判断)搜索除去地域词以外的部分,也可能展现您的推广结果。
在精确匹配下:
1.能触发结果的搜索词:一模一样的词
2.不能触发结果的搜索词包括:
(1)同义近义词
(2)相关词
(3)变体形式(如,加空格、语序颠倒、错别字等)
(4)完全包含关键词的短语(语序不能颠倒)
3.如开启精确匹配扩展(地域词扩展)功能,在该地域下能触发结果。
使用模糊搜索可以用于搜索关键字的同义词,提高搜索的精确性。当摸索目标不是很明确的时候,比如你只知道你要搜索的人的姓氏,而不知道具体的名字的时候.就可以模糊搜索,这时候只是对姓氏进行匹配,而不查找全称,当然结果是你可能获得一大批你不想要的信息,不过可以多加些搜索条件也可以达到搜索目的。
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件。
在本实施例中,所述Bean配置文件包括:所述数据表中的参数设置、字段设置、文件注释和类注释。
JavaBean是一种JAVA语言写成的可重用组件。为写成JavaBean,类必须是具体的和公共的,并且具有无参数的构造器。JavaBean通过提供符合一致性设计模式的公共方法将内部域暴露成员属性,set和get方法获取。众所周知,属性名称符合这种模式,其他Java类可以通过自省机制(反射机制)发现和操作这些JavaBean的属性。
一个JavaBean由3部分组成:
(1)属性(properties)
JavaBean提供了高层次的属性概念,属性在JavaBean中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的API的支持。属性值可以通过调用适当的bean方法进行。比如,可能bean有一个名字属性,这个属性的值可能需要调用StringgetName()方法读取,而写入属性值可能要需要调用void setName(String str)的方法。
(2)方法(method)
JavaBean中的方法就是通常的Java方法,它可以从其他组件或在脚本环境中调用。默认情况下,所有bean的公有方法都可以被外部调用,但bean一般只会引出其公有方法的一个子集。
因此Bean可以提供要让客户使用的public方法,但应当认识到,Bean设计人员希望看到绝大部分Bean的功能反映在属性和事件中,而不是在人工调用和各个方法中。
(3)事件(event)
事件为JavaBean组件提供了一种发送通知给其他组件的方法。在AWT事件模型中,一个事件源可以注册事件***对象。当事件源检测到发生了某种事件时,它将调用事件***对象中的一个适当的事件处理方法来处理这个事件。
在一具体实现中,通过所述公共参数查询所述目标数据库中表的字段,获得各个字段名,通过元数据获取每个字段的数据类型,再通过判断将目标数据库中的数据类型转换成java中对应的数据类型。通过循环遍历所述目标数据库以及根据javaBean的标准,通过文件操作将java文件生成在项目下对应的包路径中作为Bean配置文件。
生成Bean配置文件的代码如下:package createjavaBean;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class CreateJavaBean extends ConnectionDatabase{
//包名
public static String strpackage;
//数据库表名
public static String tableName;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件。
在本实施例中,所述调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件包括:
根据所述公共参数及所述Bean配置文件,配置MyBaits映射文件中操作所述数据表的SQL,所述SQL包括查询对象、输入类型、输出类型、查询条件。
MyBatis是持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的POJOs(Plain Ordinary Java Object,普通的Java对象)映射成数据库中的记录。
在一具体实现中,MyBatis工具是第三方工具,Mapper映射文件是一个xml格式文件,Mapper映射文件是以<mapper>作为根节点,在根节点中支持9个元素,分别为insert、update、delete、select(增删改查);cache、cache-ref、resultMap、parameterMap、sql。
根据MyBaits映射文件,生成所述目标数据库的设计文档。
在本实施例中,所述根据MyBaits映射文件,生成所述目标数据库的设计文档包括:
加载配置并初始化;
获取所述MyBaits映射文件中的SQL配置信息,将SQL的配置信息加载成MappedStatement对象;
调用Mybatis提供的API传递传入参数;
根据SQL配置信息中的ID查找对应的MappedStatement对象;
根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数;
获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果;
根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到数据库设计文档。
在一实施例中,处理器12执行的步骤还包括:
提供自定义文件配置界面,接收用户在提供自定义文件配置界面上的编写模板,并生成与接收的模块数据对应的代码文件以生成用户自定义模板。这样用户可以根据所需选择自定义模板,也可以自己创建自定义模板。
在一实施例中,处理器12执行的步骤还包括:
提供集成使用工具,所述使用工具包括:string字符串拼接,清除stringbuffer,字符串格式化,数据表命名转驼峰命名,驼峰命名转数据表命名,JSON字符串格式化,XML字符串格式化。从而可以更高效地自动生成文档。
本发明连接用户配置的目标数据库;加载所述目标数据库中的数据表;获取用户配置的所述目标数据库中的公共参数;调用JavaBean组件,并基于所述数据表中的数据,生成Bean配置文件;调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;根据MyBaits映射文件,生成所述目标数据库的设计文档。本发明提供了自动化生成数据库设计文档的功能,更满足开发人员个性化需求,使开发人员的工作效率大大提升。
可选地,在其他实施例中,数据库设计文档程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据库设计文档程序在数据库设计文档生成装置中的执行过程。
例如,参照图3所示,为本发明数据库设计文档生成装置一实施例中的数据库设计文档程序的程序模块示意图,该实施例中,数据库设计文档程序可以被分割为板块连接模块10、加载模块20、获取模块30及生成模块40,示例性地:
连接模块10,连接用户配置的目标数据库;
加载模块20,加载所述目标数据库中的数据表;
获取模块30、获取用户配置的所述目标数据库中的公共参数;
生成模块40、调用JavaBean组件,并基于所述数据表中的数据,生成Bean配置文件;
所述生成模块40还用于调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
所述生成模块40根据MyBaits映射文件,生成所述目标数据库的设计文档。
上述连接模块10、加载模块20、获取模块30及生成模块40等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据库设计文档程序,所述数据库设计文档程序可被一个或多个处理器执行,以实现如下操作:
连接用户配置的目标数据库;
加载所述目标数据库中的数据表;
获取用户配置的所述目标数据库中的公共参数;
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
根据MyBaits映射文件,生成所述目标数据库的设计文档。
本发明计算机可读存储介质具体实施方式与上述数据库设计文档生成装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据库设计文档生成方法,其特征在于,所述方法包括:
连接用户配置的目标数据库;
加载所述目标数据库中的数据表;
获取用户配置的所述目标数据库中的公共参数;
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
根据MyBaits映射文件,生成所述目标数据库的设计文档。
2.如权利要求1所述的数据库设计文档生成方法,其特征在于,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。
3.如权利要求2所述的数据库设计文档生成方法,其特征在于,所述调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件包括:
通过所述公共参数查询所述目标数据库中表的字段,获得各个字段名,通过元数据获取每个字段的数据类型,再通过判断将目标数据库中的数据类型转换成java中对应的数据类型。通过循环遍历所述目标数据库以及根据javaBean的标准,通过文件操作将java文件生成在项目下对应的包路径中作为Bean配置文件。
4.如权利要求3所述的数据库设计文档生成方法,其特征在于,所述调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件包括:
根据所述公共参数及所述Bean配置文件,配置MyBaits映射文件中操作所述数据表的SQL,所述SQL包括查询对象、输入类型、输出类型、查询条件。
5.如权利要求4所述的数据库设计文档生成方法,其特征在于,所述根据MyBaits映射文件,生成所述目标数据库的设计文档包括:
加载配置并初始化;
获取所述MyBaits映射文件中的SQL配置信息,将SQL的配置信息加载成MappedStatement对象;
调用Mybatis提供的API传递传入参数;
根据SQL配置信息中的ID查找对应的MappedStatement对象;
根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数;
获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果;
根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到数据库设计文档。
6.如权利要求1至5中任一项所述的数据库设计文档生成方法,其特征在于,所述方法还包括:
提供自定义文件配置界面,接收用户在提供自定义文件配置界面上的编写模板,并生成与接收的模块数据对应的代码文件以生成用户自定义模板。
7.如权利要求1至5任一项所述的数据库设计文档生成方法,其特征在于,所述方法还包括:
提供集成使用工具,所述使用工具包括:string字符串拼接,清除stringbuffer,字符串格式化,数据表命名转驼峰命名,驼峰命名转数据表命名,JSON字符串格式化,XML字符串格式化。
8.一种数据库设计文档生成装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据库设计文档程序,所述数据库设计文档程序被所述处理器执行时实现如下步骤:
连接用户配置的目标数据库;
加载所述目标数据库中的数据表;
获取用户配置的所述目标数据库中的公共参数;
调用JavaBean组件,并基于所述数据表中的数据及所述公共参数,生成Bean配置文件;
调用MyBatis工具、利用所述Bean配置文件及所述公共参数,生成MyBaits映射文件;
根据MyBaits映射文件,生成所述目标数据库的设计文档。
9.如权利要求8所述的数据库设计文档生成装置,其特征在于,所述公共参数包括:文件保存路径,包路径,数据表前缀,数据表单词分隔符,数据表查询精确匹配,数据表模糊匹配,数据表别名。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据库设计文档程序,所述数据库设计文档程序可被一个或者多个处理器执行,以实现如权利要求1至7中任一项所述的数据库设计文档生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063672.XA CN109933571B (zh) | 2019-01-23 | 2019-01-23 | 数据库设计文档生成方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910063672.XA CN109933571B (zh) | 2019-01-23 | 2019-01-23 | 数据库设计文档生成方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109933571A true CN109933571A (zh) | 2019-06-25 |
CN109933571B CN109933571B (zh) | 2023-07-21 |
Family
ID=66985174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910063672.XA Active CN109933571B (zh) | 2019-01-23 | 2019-01-23 | 数据库设计文档生成方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109933571B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110688398A (zh) * | 2019-08-21 | 2020-01-14 | 西藏自治区藏医院(西藏自治区藏医药研究院) | 一种藏历天文历算的演示方法及*** |
CN111901160A (zh) * | 2020-07-15 | 2020-11-06 | 中盈优创资讯科技有限公司 | 一种梳理网络设备垃圾策略配置的方法及装置 |
CN111898345A (zh) * | 2020-07-24 | 2020-11-06 | 北京车和家信息技术有限公司 | 基于详细设计文档的数据处理方法和装置 |
CN112035565A (zh) * | 2020-09-03 | 2020-12-04 | 天元大数据信用管理有限公司 | 一种根据word文档生成sql脚本的方法 |
WO2021008030A1 (zh) * | 2019-07-12 | 2021-01-21 | 平安科技(深圳)有限公司 | 网页表单配置方法、装置及计算机可读存储介质 |
CN112287021A (zh) * | 2020-07-13 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN112286907A (zh) * | 2020-10-26 | 2021-01-29 | 中信百信银行股份有限公司 | 一种数据库配置方法、装置、电子设备和可读存储介质 |
CN112799659A (zh) * | 2021-01-12 | 2021-05-14 | 杨飞 | 一种免编程自动生成数据接口的方法、装置及终端 |
CN112948391A (zh) * | 2021-03-12 | 2021-06-11 | 深圳市百佳华网络科技有限公司 | 一种绩效考核方法、***、终端及可读存储介质 |
CN114416727A (zh) * | 2021-12-21 | 2022-04-29 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108121542A (zh) * | 2017-11-17 | 2018-06-05 | 广东睿江云计算股份有限公司 | 一种基于MyBatis的SQL语句的配置方法、*** |
US20180285407A1 (en) * | 2017-03-28 | 2018-10-04 | Walmart Apollo, Llc | Systems and methods for computer assisted database change documentation |
CN108920134A (zh) * | 2018-06-27 | 2018-11-30 | 中国建设银行股份有限公司 | 自动生成设计文档的方法及装置 |
-
2019
- 2019-01-23 CN CN201910063672.XA patent/CN109933571B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180285407A1 (en) * | 2017-03-28 | 2018-10-04 | Walmart Apollo, Llc | Systems and methods for computer assisted database change documentation |
CN108121542A (zh) * | 2017-11-17 | 2018-06-05 | 广东睿江云计算股份有限公司 | 一种基于MyBatis的SQL语句的配置方法、*** |
CN108920134A (zh) * | 2018-06-27 | 2018-11-30 | 中国建设银行股份有限公司 | 自动生成设计文档的方法及装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021008030A1 (zh) * | 2019-07-12 | 2021-01-21 | 平安科技(深圳)有限公司 | 网页表单配置方法、装置及计算机可读存储介质 |
CN110688398A (zh) * | 2019-08-21 | 2020-01-14 | 西藏自治区藏医院(西藏自治区藏医药研究院) | 一种藏历天文历算的演示方法及*** |
CN110688398B (zh) * | 2019-08-21 | 2023-10-13 | 西藏自治区藏医院(西藏自治区藏医药研究院) | 一种藏历天文历算的演示方法及*** |
CN112287021A (zh) * | 2020-07-13 | 2021-01-29 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN112287021B (zh) * | 2020-07-13 | 2024-04-05 | 上海柯林布瑞信息技术有限公司 | 数据实时同步参数的生成、同步方法及装置、存储介质、终端 |
CN111901160A (zh) * | 2020-07-15 | 2020-11-06 | 中盈优创资讯科技有限公司 | 一种梳理网络设备垃圾策略配置的方法及装置 |
CN111898345A (zh) * | 2020-07-24 | 2020-11-06 | 北京车和家信息技术有限公司 | 基于详细设计文档的数据处理方法和装置 |
CN112035565A (zh) * | 2020-09-03 | 2020-12-04 | 天元大数据信用管理有限公司 | 一种根据word文档生成sql脚本的方法 |
CN112286907A (zh) * | 2020-10-26 | 2021-01-29 | 中信百信银行股份有限公司 | 一种数据库配置方法、装置、电子设备和可读存储介质 |
CN112799659A (zh) * | 2021-01-12 | 2021-05-14 | 杨飞 | 一种免编程自动生成数据接口的方法、装置及终端 |
CN112948391A (zh) * | 2021-03-12 | 2021-06-11 | 深圳市百佳华网络科技有限公司 | 一种绩效考核方法、***、终端及可读存储介质 |
CN114416727A (zh) * | 2021-12-21 | 2022-04-29 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109933571B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109933571A (zh) | 数据库设计文档生成方法、装置及计算机可读存储介质 | |
US8180758B1 (en) | Data management system utilizing predicate logic | |
US6877000B2 (en) | Tool for converting SQL queries into portable ODBC | |
US11733990B2 (en) | Generating software artifacts from a conceptual data model | |
CN107679071B (zh) | 一种面向关系数据库的通用数据服务定制化封装方法 | |
US20070061294A1 (en) | Source code file search | |
EP3732587B1 (en) | Systems and methods for context-independent database search paths | |
CN108874924A (zh) | 搜索服务的创建方法、装置及计算机可读存储介质 | |
US20200065313A1 (en) | Extensible content object metadata | |
KR20060103828A (ko) | 파일 시스템 모델의 데이터베이스 객체로의 맵핑을용이하게 하는 시스템 및 방법 | |
US8046382B2 (en) | Method and system for software object profile management | |
CN102708203A (zh) | 一种基于xml元数据的数据库动态管理方法 | |
CN109471857A (zh) | 基于sql语句的数据修改方法、装置及存储介质 | |
US7590654B2 (en) | Type definition language for defining content-index from a rich structured WinFS data type | |
CN109947770A (zh) | 一种数据库查询方法、终端设备及存储介质 | |
CN111708805A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
US20130332445A1 (en) | Methods and systems for providing custom crawl-time metadata | |
CN109710220A (zh) | 关系型数据库查询方法、装置、设备及存储介质 | |
CN113761040A (zh) | 数据库与应用程序双向映射方法、设备、介质及程序产品 | |
US11914557B2 (en) | Techniques for performing lifecycle operations on a data store | |
JP2024504556A (ja) | データ処理システムによって管理されるデータエンティティにアクセスするためのシステム及び方法 | |
US7197496B2 (en) | Macro-based dynamic discovery of data shape | |
US7519583B2 (en) | Detecting and tracking monotonicity for accelerating range and inequality queries | |
CN112597100A (zh) | 一种基于对象代理标签的文件管理方法及装置 | |
CN112181996A (zh) | 关系数据库统一数据存取中间件方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |