一种基于网页的数据库通用管理系统的制作方法

文档序号:13207874阅读:316来源:国知局

技术领域
::本发明涉及数据库网络管理领域,特别涉及一种基于网页的数据库通用管理系统,适用于通过网页对数据库进行在线查看与管理。
背景技术
:::通常,管理人员使用客户端/服务器模式对数据库进行管理。管理人员通过使用客户端软件的对服务器中的数据库进行访问,对特定数据表进行增删查改等操作。这样的操作方式依赖客户端软件,对客设备硬件要求高,同时具有一定的时间与空间上的局限性。在如实地勘察,野外勘探的情况下,管理人员不容易接触安装有客户端软件的,具有访问条件的计算机设备,难以随时随地对数据库进行访问与管理操作。另外一种方法则是使用浏览器/服务器模式对数据库进行管理。该方式对访问设备硬件要求低,只需通过浏览器向web服务器提交请求即可实现访问数据库。然而,当前存在以下不足:1.功能单一。除了查看数据,为了完成数据库管理,添加、删除、查询、修改和撤销数据的功能是必不可少的。2.易用性差。无法进行大批量数据的导入导出。3.可维护性差。须为每一个数据表单独创建含有表头信息的网页文件,定义该数据表的后台代码等。工作量大,且会造成服务器代码冗余、累赘,也不利于日后增加、删除或修改数据表信息。4.无法控制具体字段是否在浏览器中展示。为此,一套易于访问,功能完备,管理配置方便的数据管理系统具有重要现实意义。技术实现要素::针对现有技术缺陷,本发明提供一种基于网页的数据库通用管理系统,具有添加、删除、修改、撤销、条件检索、数据导出与批量导入功能,可实现基于网页对数据表进行各类操作与管理。本系统通过是否在数据表字典中配置字段的中文展示名实现对字段是否在浏览器中展示的控制。一种基于网页的数据库通用管理系统,其
发明内容如下:前处理,包含以下步骤:1.建立表:数据表信息,内容为要展示的每一个数据表的展示名,表名。2.建立表:数据表字典,内容为每一个数据表要对外展示的字段与字段名。3.建立配置文件,内容包括数据库访问账户,密码,数据库访问地址,数据表专题的信息,数据表信息的信息。4.创建通用数据展示页面,页面包含数据展示容器,用于展示表头信息与数据。展示数据表,步骤如下:1.前端读取数据表信息,展示所有可供访问的数据表。2.用户选择数据表。3.进入数据表格展示页面。4.获得该数据表字段,字段类型与展示名信息,作为表头。5.前端数据容器装载表头信息。6.数据容器绑定获取数据的链接。7.请求数据表内容与rowid。8.加载结果至前端数据容器。数据库管理功能包括:1.添加1)用户在前端输入各字段内容,并校验各项输入的内容是否满足对应字段类型。2)确认所有输入内容满足对应字段类型的格式后,提交到后台。3)读取配置文件,连接数据库。4)查询数据表中各字段的数据类型。5)将各输入内容转换为对应字段类型的类。6)构建sql命令。7)执行。2.删除1)选择要删除的数据行。2)获得要删除的行的rowid,提交到后台。3)读取配置文件,连接数据库。4)构建sql命令,以rowid定位数据行。5)执行删除。3.修改1)获得要修改的行的rowid。2)用户在前端输入各字段内容,并校验各项输入的内容是否满足对应字段类型。3)确认所有输入内容满足对应字段类型的格式后,提交到后台。4)读取配置文件,连接数据库。5)查询数据表中各字段的数据类型。6)将各输入内容转换为对应字段类型的类。7)构建sql命令,以rowid定位数据行。8)执行修改。4.撤销1)若进行修改操作,在操作前记录要修改的数据行原始内容。执行撤销操作,将当前数据行还原为原始内容。2)若进行添加操作,则清除所有添加内容。5.条件检索1)根据表头信息构建字段选项,构建逻辑运算符选项。2)通过选择字段-选择逻辑运算符-输入内容的过程逐一添加检索条件。3)将检索条件转为sql语句,提交到后台。4)读取配置文件,连接数据库。5)利用检索条件构建sql查询语句。6)执行查询。7)返回前端。6.数据导出1)获取当前查询条件。2)将检索条件转为sql语句,提交到后台。3)读取配置文件,连接数据库。4)利用检索条件构建sql查询语句。5)查询数据表字典中该表的字段-展示名关系。6)新建excel文件。7)利用检索条件构建sql查询语句并执行查询。8)创建excel表头:遍历查询结果字段,在表头行依次写入列名:对于存在展示名的字段,写入展示名,否则写入字段名。9)将所有查询结果依次写入excel文件。10)返回excel文件。7.批量导入1)获取数据表格文件。2)读取表格文件表头行。3)读取配置文件,连接数据库。4)查询数据表中各字段的数据类型。5)查询数据表字典中该表的字段-展示名关系。6)遍历表头行,判断每一个列名是否为展示名或真实字段名。若有一个列名不满足该条件,终止流程,提示存在无法识别的字段。7)经过6),获得数据表格文件中每一个表头列名对应的真实字段名。8)启动数据库批量执行命令功能。9)对于数据表格文件中的每一行数据,将每一列转换为对应字段类型的类,构建sql命令,添加至待执行命令队列。10)执行数据批量插入。本发明具有以下优点:1.数据展示直观明了。前端数据表表头显示预设的字段展示名,易于理解。2.输入内容要求严格。在进行数据添加和修改时,会对用户输入内容进行校验,确定输入内容符合字段类型要求的格式(如日期,数字)才向后台提交。确保数据准确性,防止误输入。3.功能完备。除了查看数据内容之外,还具有添加、删除、修改、撤销、条件检索、数据导出与批量导入功能,实现基于网页对数据表进行各类操作与管理。4.可访问性好。本系统通过浏览器进行使用,对设备硬件要求低。5.代码量小,简洁。6.添加数据效率高,完整性好。在进行数据批量插入时,由于启用了数据库批量执行命令功能,一方面运行效率比逐条执行sql命令要高。另一方面,若中途出现错误,系统会自动执行回滚操作,不会出现难以确定多少条命令已被执行的情况。7.自动匹配不同数据库字段数据类型,并将输入的文本内容转为对应的类,避免数据转换带来的错误,适用于任何字段类型的数据表。8.管理方便。数据库管理人员可在数据表信息中增加、删除或修改数据表信息,实现对可供访问的数据表的管理。同时,数据库管理人员可在数据表字典中增加、删除或修改数据表展示名,决定某一字段是否在前端展示。9.人性化。本系统可通过添加检索条件就行数据查询,查询语句用明文展示,用户一目了然。同时,本系统可导出全表数据或导出条件查询所得数据,便于用户查看使用。10.操作方便。本系统支持使用真实字段名作为表头或预定义的字段展示名作为表头,或两种方式混合进行批量导入。附图说明:图1本发明功能模块图。图2本发明查看数据流程图。图3本发明获取表头信息流程图。图4本发明添加数据流程图。图5本发明修改数据流程图。图6本发明删除数据流程图。图7本发明撤销添加或修改数据流程图。图8本发明条件查询流程图。图9本发明批量导入数据流程图。图10本发明导出数据流程图。图11查看数据。图12条件检索。图13上传表格文件进行批量导入。具体实施方式:本发明是一种基于网页的数据库通用管理系统,实现基于浏览器对数据表进行查看并进行添加、删除、修改、撤销、条件检索、数据导出与批量导入的数据管理操作(附图1)。以下使用java作为后台语言,jdbc作为数据库操作方式对本发明作详细阐述。1.实现原理首先阐述前处理部分:1)建立表:数据表信息,内容为要展示的每一个数据表的展示名,表名。2)建立表:数据表字典,内容为每一个数据表要对外展示的字段与字段名。3)建立配置文件,内容包括数据库访问账户,密码,数据库访问地址。4)创建通用数据展示页面,页面包含数据展示容器,用于展示表头信息与数据。其次阐述查看数据流程(附图2):1)前端读取数据表信息,展示所有可供访问的数据表。2)用户选择要查看的数据表。3)进入数据表格展示页面。4)获得该数据表字段,字段类型与展示名信息,封装为json数组(jsonarray),并添加rowid作为隐藏列,以该json数组为表头数据。(附图3)5)前端数据容器装载表头信息。6)数据容器绑定获取数据的链接,在用户进行查看时,前端向后台发送参数,包括页数,每页展示数据数,排序方式等。7)后台获取前台的查询参数,以此为条件查询数据表内容与各数据行的rowid。8)将查询所得的每一行数据封装为一个json对象,再将每一行的json对象封装到json数组并返回,加载至前端数据容器。接着阐述查询数据表字段名与字段类型流程:1)读取配置文件,连接数据库。2)构建sql命令“selectcolumn_name,data_typefromall_tab_columnswheretable_name=′表名′andowner=′表用户名′;”3)执行查询,将查询结果以“字段名-字段类型”的形式封装成json对象并返回。最后阐述数据管理的七个功能模块(附图1):1)添加(附图4):在前端页面,为除了rowid的每一个字段设立输入框。待用户完成内容输入后,对特别数据类型(如数字,日期)的字段的输入内容进行校验。若所有输入内容通过校验,才将输入内容提交到后台。后台接受到输入内容后,先向数据库查询各字段对应的数据类型,构建插入数据的sql命令“insertinto表名(字段1,字段2……)values(?,?……)”,“?”数目与字段数目相同。利用sql命令获得数据库连接的preparedstatement对象。将输入内容由字符串转为对应的类,根据不同数据类型,preparedstatement对象使用不同的set方法设置数据。举例:setdouble()方法设置double数据类型,settimestamp()方法设置timestamp与date数据类型。最后执行。2)修改(附图5):在前端页面,用户选择一条数据后,为除了rowid的每一个字段设立输入框。输入修改内容。待用户完成内容输入后,对特别数据类型(如数字,日期)的字段的输入内容进行校验。若所有输入内容通过校验,才将输入内容与rowid提交到后台。后台接受到输入内容后,先向数据库查询各字段对应的数据类型,再将输入内容由字符串转为对应的类。与添加操作类似,构建更新数据的sql命令“update表名set字段1=?,字段2=?……whererowid=提交的rowid”。利用sql命令获得数据库连接的preparedstatement对象。根据不同数据类型,preparedstatement对象使用不同的set方法设置数据。最后执行。3)删除(附图6):在前端页面,用户选择一条或多条要删除的数据,获取该数据的rowid,发送到后台。构建删除数据的sql命令“deletefrom表名whererowid=提交的rowid”,利用sql命令获得数据库连接的preparedstatement对象。设置rowid,最后执行。4)撤销(附图7):若进行修改操作,在操作前记录要修改的数据行原始内容。执行撤销操作,将当前数据行还原为原始内容。若进行添加操作,则清除所有添加内容。5)条件检索(附图8):在数据表格展示页面获得表头信息后,以表头信息构建字段选项,构建逻辑运算符选项。用户按照“选择字段-选择逻辑运算符-输入内容”的过程逐一添加检索条件。同时,将检索条件转换成sql语句。在用户确定检索条件无误后,将sql语句提交到后台。后台获取sql语句后,以此条件进行查询数据流程。6)数据导出(附图9):前端获取当前查询条件,并将检索条件转为sql语句,提交到后台。后台获取sql语句后。查询数据表字典中该表的字段-展示名关系,保存为map。新建excel文件,以此条件进行查询数据流程,得到查询结果resultset。首先建立excel文件表头。通过resultset.getmetadata()获得所有的列名。对于每一个列名,查询该列名是否在map中由对应展示名。有,在excel文件中依次写入展示名;没有,则写入列名。对于每一条查询结果,依次使用resultset.getobject()获得每一列的数据。再转为string类,写入excel文件,使得excel文件中的每一行对应一条查询结果。最后返回该excel文件。7)批量导入(附图10):该功能分为两个阶段:字段检测与插入数据。a)字段检测:用户在前端页面上传数据表格文件。后台获取后,读取第一行作为表头行,将表头行的内容读取到list中。用fieldlist记录表头行各项对应数据库中的真实字段名。再获取数据库信息,连接数据库,查询数据库中该表的字段-字段类型关系,置于mapl;查询数据表字典中该表的字段展示名-字段关系,置于map2。对于list中的每一项,若map1含有该项,fieldlist添加该项;否则,若map2含有该项,即表示该项为展示名。获得该展示名对应的真实字段,添加到fieldlist。若map1,map2中都没有该项,则终止流程。该文件存在无法识别的字段。返回前端,提示用户,结束。b)插入数据:数据表格文件通过字段检测后,则进行插入数据阶段。构建sql命令“insertinto表名(字段1,字段2,...)values(?,?……)”。其中,“?”数目为fieldlist长度,“字段i”为fieldlist的第i项。利用sql命令获得数据库连接的preparedstatement对象。开启数据库的批量执行命令功能。对于数据表格文件的每一行,根据不同数据类型,preparedstatement对象使用不同的set方法为每个字段设置数据,再通过preparedstatement对象的addbatch()方法将sql命令添加至待执行语句中。待所有数据行都读取完后,通过preparedstatement对象executebatch()方法执行批量数据插入。2.示例1)查看数据(图11)a)用户选择表格,查看数据。2)添加a)点击“添加”按钮,输入符合格式要求的内容,点击“保存”按钮。3)删除a)选择要删除的数据行,一行或多行,点击“删除”按钮。4)修改a)输入符合格式要求的内容,点击“保存”按钮。5)撤销a)在添加或修改过程中,点击“撤销”按钮。6)条件检索a)点击“条件检索”按钮。b)按照“选择字段-选择逻辑运算符-输入内容”的过程逐一添加检索条件。c)点击“提交”按钮。7)数据导出(图12)a)选择进行完整导出或按照“条件检索”所确定的条件进行导出。b)点击“确定”按钮。c)下载导出的表格文件。8)批量导入(图13)a)点击“批量导入”按钮,上传数据文件。b)文件通过字段检测后,将执行数据导入。由此,实现基于网页,对数据表进行查看,与包括添加、删除、修改、撤销、条件检索、数据导出与批量导入的数据管理功能。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1