CN101452456A - 数据库查询系统及其方法 - Google Patents
数据库查询系统及其方法 Download PDFInfo
- Publication number
- CN101452456A CN101452456A CNA2007101951485A CN200710195148A CN101452456A CN 101452456 A CN101452456 A CN 101452456A CN A2007101951485 A CNA2007101951485 A CN A2007101951485A CN 200710195148 A CN200710195148 A CN 200710195148A CN 101452456 A CN101452456 A CN 101452456A
- Authority
- CN
- China
- Prior art keywords
- data
- forms
- database
- query
- sql
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种数据库查询系统及其方法,目的是在于解决数据库查询过程耗费硬件资源及查询程序维护不易的问题,通过组合的方式生成SQL查询语句及数据反射填充处理的技术,借以产生公共的查询程序提供使用者自JSP网页中发出请求进行数据库查询,达到提升数据库查询稳定性的技术效果。
Description
技术领域
本发明涉及一种数据库查询系统及其方法,尤其涉及一种通过公共的查询程序对数据库进行查询的系统及其方法。
背景技术
近年来,随着信息科技的蓬勃发展,数据数字化的趋势也越来越明显。不论是在政府或是民间企业,都已无法抗拒这股数据数字化潮流,由于数据数字化是将传统储存于纸张的数据转而存放于数据库中,因此,如何稳定快速地从数据库中查询所需数据便是当前最热门的研究议题之一。
根据统计,目前最常用的网页数据库查询方式是预先依照数据库的内容设计数据库查询程序,以固定的结构化查询语言(Structured Query Language,SQL)对数据库进行查询。然而网页数据库查询程序良莠不齐,容易在查询数据库的过程中产生耗费硬件资源的问题,而且不同网页具有不同的网页数据库查询程序,亦会产生维护不易的问题。
为了解决上述问题,已有厂商提出Struts模型理念,所谓Struts是基于MVC(Model-View-Controller,模式-视图-控制器)所开发的网页应用框架(WebApplication Framework),用于节省开发时间且提升维护的便利性。Struts模型技术虽然可节省开发时间且提升维护的便利性,但由于没有一个公共的网页数据库查询程序,容易造成网页数据库查询程序原始码的重复编写,从而耗费硬件资源。因此,在解决耗费硬件资源及提升维护便利性上仍有不足之处。
综上所述,可知先前技术中长期以来一直存在数据库查询过程耗费硬件资源及查询程序维护不易的问题,因此实有必要提出改进的技术手段,来解决此一问题。
发明内容
有鉴于先前技术存在的问题,本发明提供一种数据库查询系统及其方法。
本发明提供的数据库查询系统,用以处理来自JSP网页含有查询条件的请求,该系统包含:操作生成模块及数据库查询模块。其中,操作生成模块包含一个以上的操作程序,用以根据请求选用对应的操作程序来生成对应的窗体;数据库查询模块更包含:数据库、条件生成模块、数据查询模块及数据填充模块。其中,数据库包含数据表,用以储存一笔以上的资料数据;条件生成模块,用以依据查询条件及窗体对应数据表生成SQL查询语句;数据查询模块,用以根据SQL查询语句至数据库中查询出对应的资料数据;数据填充模块,用以通过反射处理将资料数据填入窗体,并返回窗体至操作生成模块;其中,操作生成模块于接收到窗体时,将通过请求所选用的操作程序来传回窗体中的资料数据至JSP网页中进行显示。
至于本发明之数据库查询方法,用以处理来自JSP网页查询数据库的请求,该请求包含查询条件用以查询数据库的数据表,其步骤包括:建立一个以上的操作程序,用以根据请求选用对应的操作程序来生成对应的窗体;依据查询条件及窗体对应数据表生成SQL查询语句;根据SQL查询语句至数据库中查询出对应的资料数据;通过反射处理将资料数据填入窗体,并返回窗体至操作生成模块;其中,操作生成模块于接收到窗体时,将通过请求所选用的操作程序来传回窗体中的资料数据至JSP网页中进行显示。
本发明所提供之系统与方法如上,与先前技术之间的差异在于通过组合的方式生成SQL查询语句及数据反射填充处理的技术,借以产生公共的查询程序提供使用者自JSP网页中发出请求进行数据库查询。通过本发明提供的技术手段,可以达到提升数据库查询稳定性的技术效果。
附图说明
图1为本发明数据库查询系统之方块图。
图2为本发明数据库查询方法之流程图。
图3为本发明SQL查询语句生成方法之流程图。
具体实施方式
以下将配合图式及实施例来详细说明本发明之实施方式,借此对本发明如何应用技术手段来解决技术问题并达成技术效果的实现过程能充分理解并据以实施。
首先,在详细说明实施例之前,先对本发明所提出的数据库查询系统及其方法进行背景说明,本发明是架构在Struts模型上通过JSP网页进行数据库查询,一般来说,要以JSP网页进行数据库查询除了需要JSP网页外,还需要配合结构化查询语言(Structured Query Language,SQL)才能达成目的,因此,本发明除了对Struts模型进行改良,用以通过公共的数据库查询程序来查询数据库外,还通过组合的方式生成SQL查询语句来对数据库进行查询,更以Java语言中所具备的数据反射(reflection)填充处理来实现对查询到数据的填充,接下来配合图式对本发明所提出的系统及其方法作详细说明。
请参阅「图1」,「图1」为本发明数据库查询系统之方块图,包含:操作生成模块110及数据库查询模块120。其中,操作生成模块110,包含一个以上的操作程序,用以根据请求选用对应的操作程序来生成对应的窗体,所述窗体内所使用的数据型态可用不同的类型(type)(例如:整数、浮点数、字符或字符串)进行声明。
数据库查询模块120,更包含:数据库121、条件生成模块122、数据查询模块123及数据填充模块124。其中,数据库121包含数据表,用以储存一笔以上的资料数据;条件生成模块122,用以依据查询条件及窗体对应数据表生成SQL查询语句,所述SQL查询语句的生成方式是将查询条件及窗体以参数形式传递后,配合对应的数据表及SQL指令所组合而成;数据查询模块123,用以根据生成的SQL查询语句至数据库121中查询出对应的资料数据,若数据库121查询过程中产生错误时,取消数据库121的查询操作;数据填充模块124,用以通过数据反射(reflection)填充处理将资料数据填入窗体,并返回填充后的窗体至操作生成模块110,所述反射处理是将资料数据填入至窗体中的对应属性;其中,操作生成模块110于接收到窗体时,将通过请求所选用的操作程序来传回窗体中的资料数据至JSP网页中进行显示。
如「图2」所示,为本发明数据库查询方法之流程图,包含下列步骤:建立一个以上的操作程序,用以根据请求选用对应的操作程序来生成对应的窗体(步骤201);依据查询条件及窗体对应数据表生成SQL查询语句(步骤202);根据SQL查询语句至数据库中查询出对应的资料数据(步骤203);通过反射处理将资料数据填入窗体,并返回窗体至操作生成模块(步骤204);其中,操作生成模块于接收到窗体时,将通过请求所选用的操作程序来传回窗体中的资料数据至JSP网页中进行显示。
前面提到,SQL查询语句是根据查询条件及窗体所生成,以下配合「图3」说明生成SQL查询语句的方法。「图3」是本发明SQL查询语句生成方法之流程图,更包含下列步骤:声明第一SQL指令字符串(步骤2021);于第一SQL指令字符串后加上数据表的字段名,成为第一查询语句(步骤2022);于第一查询语句后加上第二SQL指令字符串,成为第二查询语句(步骤2023);于第二查询语句后加上数据表的表格名,成为第三查询语句(步骤2024);将第三查询语句及查询条件,以参数方式传入条件函数,用以生成SQL查询语句(步骤2025)。
接着,以实施例方式进行如下说明,此实施例中有一个数据库121,且数据库121内具有一个数据表(例如:数据表名称为Card;数据表内分别有ID字段名及Code字段名;ID字段中有数值1及数值2两笔资料;Code字段中有数值1234及数值5678两笔资料;其中,ID字段中的数值1与数值2分别对应于Code字段中的数值1234与5678),用来提供使用者对数据库121进行查询。
当接收到使用者通过JSP网页发出包含查询条件的请求,用以查询数据库121的数据表(例如:Card)内容时,会将此请求传递给操作生成模块110来处理此请求,操作生成模块110会根据此请求来选用对应的操作程序进而生成对应的窗体(Form bean),以便将此窗体用于储存查询到的资料数据,所述窗体内所使用的数据型态可用不同的类型(例如:整数、浮点数、字符或字符串)进行声明。
接着,条件生成模块122将窗体及查询条件以参数形式传递至自行定义用来组合SQL查询语句的函数(例如:DBServlet.selectQueryAll函数),用以根据窗体及查询条件生成SQL查询语句,其通过组合的方式生成SQL查询语句的过程如下:声明SQL的指令(例如:select)字符串(即第一SQL指令字符串),并在第一SQL指令字符串后加上欲查询数据表的字段名(例如:ID及Code)成为第一查询语句(即为“select ID,Code”)。
当产生第一查询语句后,于第一查询语句后加上SQL的指令(例如:from)字符串(即第二SQL指令字符串)成为第二查询语句(即为“select ID,Codefrom”),而在产生第二查询语句后,于第二查询语句后加上数据表的表格名(例如:Card)成为第三查询语句(即为“select ID,Code from Card”),最后,将第三查询语句及查询条件(例如:查询字段为ID;查询条件值为数值1),以参数方式传入条件函数,用以生成SQL查询语句(即为“select ID,Code fromCard where ID=1”),所述条件函数是依据查询条件进行字符串的组合如:“where ID=1”,至此,通过组合的方式完成SQL查询语句的生成。
接着,数据查询模块123执行此SQL查询语句至数据库121查询出对应的资料数据(例如:ID为数值1;Code为数值5678),当查询到资料数据后,数据填充模块124通过Java语言的数据反射(reflection)填充处理将资料数据填入至窗体中的对应属性,并返回窗体至操作生成模块110,若数据库121查询过程中产生错误时,则取消数据库121的查询操作,最后,于操作生成模块110接收到窗体时,通过请求所选用的操作程序传回窗体中的资料数据至JSP网页中进行显示,由于前面所提及的数据反射(reflection)填充处理为Java语言的惯用技术,故在此不再赘述。
综上所述,可知本发明与先前技术之间的差异在于通过组合的方式生成SQL查询语句及数据反射填充处理的技术手段,借以产生公共的查询程序提供使用者自JSP网页中发出请求进行数据库查询,来解决先前技术所存在的问题,进而达成提升数据库查询稳定性的技术效果。
虽然本发明以前述之实施例说明如上,然其并非用以限定本发明,任何熟习相像技艺者,在不脱离本发明之精神和范围内,当可作些许之更动与润饰,因此本发明之专利保护范围须视本说明书所附之权利要求书所界定者为准。
Claims (10)
1、一种数据库查询系统,用以处理来自一JSP网页含有一查询条件的一请求,该系统包含:
一操作生成模块,包含一个以上的操作程序,用以根据该请求选用对应的操作程序来生成对应的一窗体;及
一数据库查询模块,更包含:
一数据库,该数据库包含一数据表,用以储存一笔以上的资料数据;
一条件生成模块,用以依据该查询条件及该窗体对应该数据表生成一SQL查询语句;
一数据查询模块,用以根据该SQL查询语句至该数据库中查询出对应的一资料数据;及
一数据填充模块,用以通过一反射处理将该资料数据填入该窗体,并返回该窗体至该操作生成模块;
其中,该操作生成模块于接收到该窗体时,将通过该请求所选用的该操作程序来传回该窗体中的该资料数据至该JSP网页中进行显示。
2、如权利要求1所述的数据库查询系统,其中该窗体内所使用的数据型态是以不同的类型进行声明。
3、如权利要求1所述的数据库查询系统,其中该SQL查询语句是由该查询条件及该窗体以参数形式传递后配合SQL指令组合而成。
4、如权利要求1所述的数据库查询系统,其中该数据库查询过程中产生错误时,取消该数据库的查询操作。
5、如权利要求1所述的数据库查询系统,其中该反射处理是将该资料数据填入至该窗体中的对应属性。
6、一种数据库查询方法,用以处理来自一JSP网页查询该数据库的一请求,该请求包含一查询条件,用以查询该数据库的一数据表,其步骤包括:
建立一个以上的操作程序,用以根据该请求选用对应的该操作程序来生成对应的一窗体;
依据该查询条件及该窗体对应该数据表生成一SQL查询语句;
根据该SQL查询语句至该数据库中查询出对应的一资料数据;及
通过一反射处理将该资料数据填入该窗体,并返回该窗体至一操作生成模块;
其中,该操作生成模块于接收到该窗体时,将通过该请求所选用的该操作程序来传回该窗体中的该资料数据至该JSP网页中进行显示。
7、如权利要求6所述的数据库查询方法,其中该窗体内所使用的数据型态是以不同的类型进行声明。
8、如权利要求6所述的数据库查询方法,其中该SQL查询语句的生成更包含下列步骤:
声明一第一SQL指令字符串;
于该第一SQL指令字符串后加上该数据表的至少一字段名,成为一第一查询语句;
于该第一查询语句后加上第二SQL指令字符串,成为一第二查询语句;
于该第二查询语句后加上该数据表的一表格名,成为一第三查询语句;及
将该第三查询语句及该查询条件,以参数方式传入一条件函数,用以生成该SQL查询语句。
9、如权利要求6所述的数据库查询方法,其中该数据库查询过程中产生错误时,取消该数据库的查询操作。
10、如权利要求6所述的数据库查询方法,其中该反射处理是将该资料数据填入至该窗体中的对应属性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101951485A CN101452456A (zh) | 2007-11-30 | 2007-11-30 | 数据库查询系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101951485A CN101452456A (zh) | 2007-11-30 | 2007-11-30 | 数据库查询系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101452456A true CN101452456A (zh) | 2009-06-10 |
Family
ID=40734692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101951485A Pending CN101452456A (zh) | 2007-11-30 | 2007-11-30 | 数据库查询系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101452456A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024182A (zh) * | 2009-09-10 | 2011-04-20 | 上海宝信软件股份有限公司 | 资产信息管理系统 |
CN101739453B (zh) * | 2009-12-17 | 2013-07-10 | 中国电力科学研究院 | 一种对数据库表进行条件查询的方法及装置 |
CN105786819A (zh) * | 2014-12-18 | 2016-07-20 | 广州华多网络科技有限公司 | 一种数据操作方法及装置 |
CN108241698A (zh) * | 2016-12-27 | 2018-07-03 | 天津商安科技有限公司 | 一种客户资料查询系统 |
CN108334576A (zh) * | 2018-01-24 | 2018-07-27 | 深圳市金政软件技术有限公司 | 一种数据展现系统及其数据展示方法 |
CN111611266A (zh) * | 2019-02-22 | 2020-09-01 | 通用电气公司 | 知识驱动的联合大数据查询和分析平台 |
-
2007
- 2007-11-30 CN CNA2007101951485A patent/CN101452456A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102024182A (zh) * | 2009-09-10 | 2011-04-20 | 上海宝信软件股份有限公司 | 资产信息管理系统 |
CN101739453B (zh) * | 2009-12-17 | 2013-07-10 | 中国电力科学研究院 | 一种对数据库表进行条件查询的方法及装置 |
CN105786819A (zh) * | 2014-12-18 | 2016-07-20 | 广州华多网络科技有限公司 | 一种数据操作方法及装置 |
CN108241698A (zh) * | 2016-12-27 | 2018-07-03 | 天津商安科技有限公司 | 一种客户资料查询系统 |
CN108334576A (zh) * | 2018-01-24 | 2018-07-27 | 深圳市金政软件技术有限公司 | 一种数据展现系统及其数据展示方法 |
CN111611266A (zh) * | 2019-02-22 | 2020-09-01 | 通用电气公司 | 知识驱动的联合大数据查询和分析平台 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102200977B (zh) | 多租户环境下扩展数据库表的方法和系统 | |
CN103164249B (zh) | 用于脚本语言编译器的扩展机制 | |
US20080104579A1 (en) | Systems and methods of transforming XML schemas | |
CN110020307A (zh) | 一种客户端视图的绘制方法和装置 | |
CN101452456A (zh) | 数据库查询系统及其方法 | |
CN103383645A (zh) | 代码生成方法及系统 | |
US7676484B2 (en) | System and method of performing an inverse schema mapping | |
CN103246733A (zh) | 一种基于元数据的动态表单系统及其生成方法 | |
CN101859303A (zh) | 元数据管理方法及管理系统 | |
CN109933331A (zh) | 一种客户端服务器间数据转换方法及相关组件 | |
CN113010183B (zh) | 一种代码转换方法及装置 | |
CN107391153A (zh) | 一种基于Spring与MyBatis框架整合的代码生成方法及装置 | |
CN103440285A (zh) | 大型手机游戏系统及其数据库更新方法 | |
CN101093513A (zh) | 一种用于解决计算机软件多语言支持问题的方法和系统 | |
CN104850627A (zh) | 进行分页展示的方法及装置 | |
Lamela Seijas et al. | Towards property-based testing of restful web services | |
CN102023859B (zh) | 面向数字化研制环境的可靠性维修性保障性软件集成方法 | |
CN102426612A (zh) | 条件对象查询方法及系统 | |
CN108228762B (zh) | 用于配置主数据库通用模板的方法和系统 | |
CN111367893A (zh) | 数据库版本迭代的方法及装置 | |
CN105069116A (zh) | 一种将json串转化为数组的方法及系统 | |
CN103699746B (zh) | 基于数据库的cadds5管系三维设计方法及系统 | |
CN102609494A (zh) | 台帐数据的处理方法及装置 | |
CN110019131A (zh) | 一种复盘业务的方法和装置 | |
CN102609455A (zh) | 一种实现汉语同音字检索的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090610 |