一种基于DataTable的高效数据库接口的实现方法与流程

文档序号:11262028阅读:460来源:国知局
本发明涉及一种数据库接口的实现方法,具体涉及一种基于数据表(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中,再返回给服务端,服务端进行业务处理后将整理好的数据响应到客户端。需要说明的是,以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1