CN107180110A - 一种基于DataTable的高效数据库接口的实现方法 - Google Patents

一种基于DataTable的高效数据库接口的实现方法 Download PDF

Info

Publication number
CN107180110A
CN107180110A CN201710442683.XA CN201710442683A CN107180110A CN 107180110 A CN107180110 A CN 107180110A CN 201710442683 A CN201710442683 A CN 201710442683A CN 107180110 A CN107180110 A CN 107180110A
Authority
CN
China
Prior art keywords
datatable
service end
database
data
interface based
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
Application number
CN201710442683.XA
Other languages
English (en)
Inventor
崔岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingrun Hengyuan Technology Co Ltd
Original Assignee
Beijing Jingrun Hengyuan Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingrun Hengyuan Technology Co Ltd filed Critical Beijing Jingrun Hengyuan Technology Co Ltd
Priority to CN201710442683.XA priority Critical patent/CN107180110A/zh
Publication of CN107180110A publication Critical patent/CN107180110A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于DataTable的高效数据库接口的实现方法,其特征在于,包括:在服务端的内存中创建DataTable对象;客户端发送请求到服务端,服务端处理数据,从DataTable的表中获取用户请求需要的配置数据;服务端使用DataTable对象中封装的方法创建与数据库的连接,调用DataTable对象中封装好的方法,将SQL语句发送给数据库;数据库执行SQL,向服务端返回数据;服务端整理数据后响应客户请求。本发明可以更好的实现对复杂的业务的支持,对于数据库的操作更加简单、直接、方便,具有更好的易用性、可扩展性和灵活性;在使用过程中,不需要再配置文件中修改信息,提高了开发人员的工作效率,降低了软件开发的难度和后期维护的成本。

Description

一种基于DataTable的高效数据库接口的实现方法
技术领域
本发明涉及一种数据库接口的实现方法,具体涉及一种基于数据表(DataTable)的高效数据库接口的实现方法,属于网络应用技术领域。
背景技术
随着互联网应用的丰富和发展,对数据库操作的手段和技术也越来越丰富,配置文件是现在主流数据库操作技术中避免不了的一个存在,在一个大的项目中,配置文件会有很多,常见的配置文件有:
XML文件:对数据库的一些基本配置,如数据库连接路径,数据库用户名,密码等。一般命名为dbconfig.xml。
properties文件:对系统一些常量参数的配置,如最大连接数,连接失效时间等。一般命名为application.properties。
主流技术中对于映射对象的配置很复杂,需要有大量的xml文件来进行配置,以现有使用率较高的MyBatis技术对数据库操作的技术架构为例,MyBatis的每一个数据访问对象(DAO)接口都需要一个配置文件,对于开发者而言,大量的配置文件为项目的维护和管理造成了很大的困难和成本,降低了开发效率。
另外,方法是否可以重载是评价一个技术是否具有多重可能性的重要指标,现有的一些技术并不能支持方法重载,同时具备灵活性和可拓展性的数据库操作技术并不多见。
因此,研制一种基于DataTable的高效数据库接口的实现方法,开发人员可以以近乎零配置文件的方式操作数据库,还可以通过方法重载来实现代码的复用是非常必要的,并且该方法也有重要的应用前景。
发明内容
本发明针对上述现有技术存在的问题做出改进,即本发明的目的在于公开一种基于DataTable的高效数据库接口的实现方法,开发人员可以以近乎零配置文件的方式操作数据库,还可以通过方法重载来实现代码的复用。
为了实现上述目标,本发明所采用的技术方案是:
一种基于DataTable的高效数据库接口的实现方法,其特征在于,包括以下步骤:
(1)、在服务端的内存中创建DataTable对象;
(2)、客户端发送请求到服务端,服务端处理数据,从DataTable的表中获取用户请求需要的配置数据;
(3)、服务端使用DataTable对象中封装的方法创建与数据库的连接,调用DataTable对象中封装好的方法,将SQL语句发送给数据库;
(4)、数据库执行SQL,向服务端返回数据;
(5)、服务端整理数据后响应客户请求。
前述的基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable对象的创建方法包括以下至少一种:
通过DataTable构造函数创建;
使用DataAdapter对象的Fill方法或FillSchema方法在DataSet中创建;
使用DataSet的ReadXML、ReadXMLSchema或InferXMLSchema方法根据预定义的XML文件创建。
前述的基于DataTable的高效数据库接口的实现方法,其特征在于,所述用户请求需要的配置数据包括以下至少一项:数据库连接路径、数据库用户名、数据库密码、最大连接数、链接失效时间。
前述的基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable表中的列、关系和约束区分英文字母大小写。
前述的基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable对象使用Redis管理和缓存数据库返回的数据。
前述的基于DataTable的高效数据库接口的实现方法,其特征在于,所述客户端请求中的SQL语句触发Redis缓存系统中数据的更新。
与现有技术相比,本发明的有益之处在于:
(1)、本发明不局限于已有的流行技术,可以更好的实现对复杂的业务的支持,对于数据库的操作更加简单、直接、方便,具有更好的易用性、可扩展性和灵活性;
(2)、在使用过程中,不需要再配置文件中修改信息,只要在代码的特定位置上进行修改,就可以实现修改的操作,提高了开发人员的工作效率,降低了软件开发的难度和后期维护的成本。
附图说明
图1是现有技术MyBatis对数据库操作的技术架构;
图2是本发明的基于DataTable的高效数据库接口的实现方法的一个具体实施例的DataTable的结构框图;
图3是图2中基于DataTable的高效数据库接口的实现方法一个具体实施例的数据交互流程图;
图4是图2中基于DataTable的高效数据库接口的实现方法一个具体实施例的网络应用流程图。
具体实施方式
以下结合附图和具体实施例对本发明作具体的介绍。
本发明的基于DataTable的高效数据库接口的实现方法,包括以下步骤:
(1)、在服务端的内存中创建DataTable对象;
(2)、客户端发送请求到服务端,服务端处理数据,从DataTable的表中获取用户请求需要的配置数据;
(3)、服务端使用DataTable对象中封装的方法创建与数据库的连接,调用DataTable对象中封装好的方法,将SQL语句发送给数据库;
(4)、数据库执行SQL,向服务端返回数据;
(5)、服务端整理数据后响应客户请求。
参照图2,是本发明的基于DataTable的高效数据库接口的实现方法的一个具体实施例的DataTable的结构框图,对比图1中现有技术MyBatis对数据库操作的技术架构,现有技术会使用大量的配置文件,而本发明使用一个内存内的关系数据表,可以独立创建和使用,也可以由其他.NETFramework对象使用,最常见的情况是作为DataSet的成员使用;本发明还封装了一系列在工作中常用的方法,同时将获取query对象封装成一个方法,以便处理更加复杂的业务,因此,本发明相对于流行的技术具有很大的优势。
作为一种优选的方案,DataTable对象的创建方法包括以下至少一种:
通过DataTable构造函数创建;
使用DataAdapter对象的Fill方法或FillSchema方法在DataSet中创建;
使用数据集(DataSet)的ReadXML、ReadXMLSchema或InferXMLSchema方法根据预定义的XML文件创建。
初次创建DataTable时,DataTable表是没有结构的,要定义表的架构,必须创建数据列(DataColumn)对象并将其添加到表的列集合(ColumnsCollection)中。表的架构(即结构)由列(Columns)和约束(Constraint)表示,需要使用数据列(DataColumn)对象以及ForeignKeyConstraint和UniqueConstraint对象定义DataTable的架构,表中的列可以映射到数据源中的列、包含从表达式计算所得的值、自动递增它们的值或包含主键值;也可以为表定义主键列,并且可以创建Constraint对象并将其添加到表的约束集合(ConstraintsCollection)中;在为DataTable定义了结构之后,可通过将数据行(DataRow)对象添加到表的行集合(RowsCollection)中来将数据行添加到表中。
创建DataTable时,不需要为TableName属性提供值,可以在其其它时间指定该属性,或者将其保留为空;但是,在将一个没有TableName值的表添加到DataSet中时,该表会得到一个从“Table”(表示Table0)开始递增的默认名称Tablen。
将一个DataTable作为成员添加到一个DataSet的Tables集合中后,不能再将其添加到任何其他DataSet的表集合中。
作为一种优选的方案,用户请求需要的配置数据包括以下至少一项:数据库连接路径、数据库用户名、数据库密码、最大连接数、链接失效时间。
作为一种优选的方案,DataTable表中的列、关系和约束区分英文字母大小写。
按名称引用DataTable表中的列、关系和约束是区分大小写的,一个表中可以存在两个或两个以上名称相同(但大小写不同)的列、关系或约束。例如,DataTable表中可以同时有Col1和col1,在这种情况下,按名称引用某一列就必须完全符合该列名的大小写,否则会引发异常;例如,如果表myTable包含列Col1和列col1,就要以myTable.Columns["Col1"]的形式来按名称引用Col1,而以myTable.Columns["col1"]的形式按名称引用col1;如果以myTable.Columns["COL1"]的形式来引用其中某列就会产生异常。
如果某个特定名称只存在一个列、关系或约束,则不应用区分大小写规则。也就是说,如果表中没有其他的列、关系或约束对象与该特定列、关系或约束对象的名称匹配,您就可以使用任意的大小写来按名称引用该对象,并且不会引发异常。例如,如果表中只有Col1,您就可以使用my.Columns["COL1"]来引用。
作为一种优选的方案,DataTable对象使用Redis管理和缓存数据库返回的数据。
作为一种更加优选的方案,客户端请求中的SQL语句触发Redis缓存系统中数据的更新。
使用方法:
参照图3,是本发明的基于DataTable的高效数据库接口的实现方法一个具体实施例的数据交互流程图,其流程如下:用户输入用户名、密码,将请求发送到服务端;服务端进行数据处理,使用DataTable建立与数据库的连接,服务端调用SQL命令;数据库执行SQL;返回表单,存入Redis缓存中;服务端处理数据,将数据响应给客户端。登录的信息存入Redis中,避免重复连接数据库。
参照图4,是本发明的基于DataTable的高效数据库接口的实现方法一个具体实施例的网络应用流程图,客户端(网络应用)发送请求到服务端,服务端先处理数据,然后从DataTable获取配置数据,创建连接,调用封装好的方法,将SQL命令发送给数据库,数据库执行SQL,由于使用的是DataTable技术,数据库返回的数据会是以一个表单的形式返回,将这个表单里的数据放入到Redis中,再返回给服务端,服务端进行业务处理后将整理好的数据响应到客户端。
需要说明的是,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于DataTable的高效数据库接口的实现方法,其特征在于,包括以下步骤:
(1)、在服务端的内存中创建DataTable对象;
(2)、客户端发送请求到服务端,服务端处理数据,从DataTable的表中获取用户请求需要的配置数据;
(3)、服务端使用DataTable对象中封装的方法创建与数据库的连接,调用DataTable对象中封装好的方法,将SQL语句发送给数据库;
(4)、数据库执行SQL,向服务端返回数据;
(5)、服务端整理数据后响应客户请求。
2.根据权利要求1所述的一种基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable对象的创建方法包括以下至少一种:
通过DataTable构造函数创建;
使用DataAdapter对象的Fill方法或FillSchema方法在DataSet中创建;
使用DataSet的ReadXML、ReadXMLSchema或InferXMLSchema方法根据预定义的XML文件创建。
3.根据权利要求1所述的一种基于DataTable的高效数据库接口的实现方法,其特征在于,所述用户请求需要的配置数据包括以下至少一项:数据库连接路径、数据库用户名、数据库密码、最大连接数、链接失效时间。
4.根据权利要求1所述的一种基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable表中的列、关系和约束区分英文字母大小写。
5.根据权利要求1所述的一种基于DataTable的高效数据库接口的实现方法,其特征在于,所述DataTable对象使用Redis管理和缓存数据库返回的数据。
6.根据权利要求5所述的一种基于DataTable的高效数据库接口的实现方法,其特征在于,所述客户端请求中的SQL语句触发Redis缓存系统中数据的更新。
CN201710442683.XA 2017-06-13 2017-06-13 一种基于DataTable的高效数据库接口的实现方法 Pending CN107180110A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710442683.XA CN107180110A (zh) 2017-06-13 2017-06-13 一种基于DataTable的高效数据库接口的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710442683.XA CN107180110A (zh) 2017-06-13 2017-06-13 一种基于DataTable的高效数据库接口的实现方法

Publications (1)

Publication Number Publication Date
CN107180110A true CN107180110A (zh) 2017-09-19

Family

ID=59836155

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710442683.XA Pending CN107180110A (zh) 2017-06-13 2017-06-13 一种基于DataTable的高效数据库接口的实现方法

Country Status (1)

Country Link
CN (1) CN107180110A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086034A (zh) * 2018-07-13 2018-12-25 山东恒云信息科技有限公司 利用AOP与Spring依赖注入实现应用数据自动备份的方法
CN111966756A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 表格数据自动同步方法、装置、计算机设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652078A (zh) * 2004-02-05 2005-08-10 华为技术有限公司 利用基于数据库的应用程序接口系统实现远程调用的方法
CN102682043A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种分布式数据库连接方法
CN103678634A (zh) * 2013-12-19 2014-03-26 北京锐安科技有限公司 一种提高J-Hi开源开发平台中数据查询速度的方法
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1652078A (zh) * 2004-02-05 2005-08-10 华为技术有限公司 利用基于数据库的应用程序接口系统实现远程调用的方法
CN102682043A (zh) * 2011-04-14 2012-09-19 天脉聚源(北京)传媒科技有限公司 一种分布式数据库连接方法
CN103678634A (zh) * 2013-12-19 2014-03-26 北京锐安科技有限公司 一种提高J-Hi开源开发平台中数据查询速度的方法
CN106294565A (zh) * 2016-07-27 2017-01-04 中国农业银行股份有限公司 一种数据库访问方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MATHILDA91: ""使用数据库表替代文件配置文件"", 《CSDN HTTPS://BLOG.CSDN.NET/WEIXIN_33767813/ARTICLE/DETAILS/90624214》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086034A (zh) * 2018-07-13 2018-12-25 山东恒云信息科技有限公司 利用AOP与Spring依赖注入实现应用数据自动备份的方法
CN109086034B (zh) * 2018-07-13 2021-07-02 山东恒云信息科技有限公司 利用AOP与Spring依赖注入实现应用数据自动备份的方法
CN111966756A (zh) * 2020-08-21 2020-11-20 西安寰宇卫星测控与数据应用有限公司 表格数据自动同步方法、装置、计算机设备、存储介质
CN111966756B (zh) * 2020-08-21 2024-03-12 西安寰宇卫星测控与数据应用有限公司 表格数据自动同步方法、装置、计算机设备、存储介质

Similar Documents

Publication Publication Date Title
US20210103587A1 (en) Data sharing in database systems
US6460041B2 (en) Browser-based database-access engine apparatus and method
US7761443B2 (en) Implementing access control for queries to a content management system
US7082435B1 (en) Method and mechanism for implementing and accessing virtual database table structures
US20110313981A1 (en) Data Privacy, Redaction and Integrity for Relational Databases
WO2019243785A1 (en) Compilable data model
US20110264704A1 (en) Methods and Systems for Deleting Large Amounts of Data From a Multitenant Database
US20200379994A1 (en) Sharing Materialized Views In Multiple Tenant Database Systems
US20130066890A1 (en) Method and system for specifying, preparing and using parameterized database queries
JP2013137763A (ja) 生存ルールによるソースレコードをマージするためのシステムおよび方法
CN104050220A (zh) 动态的基于策略的来自外部数据仓库的权利的方法和装置
TW201205320A (en) Optimizing data cache when applying user-based security
US20060225026A1 (en) User-defined type consistency checker
CN101388797A (zh) 一种在网管系统中实现权限控制的方法和一种网管系统
CA2747783C (en) Extensibility for web based diagram visualization
CN102567820A (zh) 动态新闻发布和管理系统
US20230359627A1 (en) Sharing compiled code for executing queries across query engines
CN109241054A (zh) 一种多模型数据库系统、实现方法以及服务器
US8468117B1 (en) System, method and computer program product for creating a visual component for tenants of an on-demand database service
KR20020050160A (ko) 오브젝트 통합 관리 시스템
CN103390208A (zh) 控制系统资产管理
CN103020318A (zh) 一种对数据库中数据库表维护的方法
CN107180110A (zh) 一种基于DataTable的高效数据库接口的实现方法
WO2023278943A1 (en) Registering additional type systems using a hub data model for data processing
US8935474B1 (en) Policy based storage of object fragments in a multi-tiered storage system

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20170919