一种数据库引擎的制作方法

文档序号:12271569阅读:221来源:国知局

本发明涉及一种数据库引擎,属于数据库技术领域。



背景技术:

企业项目开发中,为了提高开发效率,降低开发成本,可从数据库处理方面切入,当前常用的数据库处理方案有两种:一是采用开源ORM,如Hibernate,此方案依赖包太多,而且上手难度大,效率也不太高;二是采用纯JDBC操作,虽然此方案执行效率最高,但是在处理复杂数据表的时候开发人员要记住字段名称或者序号,很容易出错,错误后很难排查,而且,当前的数据处理方案,大多存在着大量的重复数据库连接和jdbc操作的问题,为此,应结合实际需求,开发一套数据库操作引擎,减少不必要的重复数据库连接和jdbc处理相关操作,为开发人员赢得时间和效率。



技术实现要素:

本实用型要解决的技术问题是提供一种数据库引擎,可达到更高的SQL执行效率、可减少不必要的重复数据库连接和jdbc处理相关操作,为开发人员赢得时间和效率,克服现有技术的不足。

本发明的技术方案是:一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连。

上述线程数据连接池的同一个线程中只存在同一个连接。

上述的实体bean中,以反射机制解析出数据库表名和表字段。

上数据源池所创建的数据库通过负载均衡取数据器连回数据源池。

现有技术比较,本发明的数据库引擎,通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,这样能建立一个轻量化的底层数据库操作框架,达到更高的SQL执行效率,减少不必要的重复数据库连接和jdbc处理相关操作,更重要的是,引擎在同一应用中提供多数据源操作,为数据库集群、读写分离、数据库负载均衡等高可用、高负载的数据库解决方案提供程序应用级别的支持,为开发人员赢得时间和效率。

所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连,这样在自动创建数据库表过程中:通过数据源名称从数据源池中获取数据连接,并放入线程数据连接池,在同一个线程中只存在同一个连接,以此来保证同一个线程请求的事务提交,组织查询数据表信息的sql语句,调用外部操作接口层的接口查询出数据库中的所有表结构信息,加载数据库实体bean,通过反射机制解析出实体bean的数据库表名和表字段,判断数据库中是否存在解析出的实体beanr的数据库表名,不存在则执行创建操作,根据解析出的数据库表名和字段,组装创建数据库表的sql语句,调用外部操作接口层的接口,通过取线程连接池中的连接执行sql语句,完成数据库表创建;在保存数据过程中:将需要保存的内容放入实体bean中,通过反射机制解析出实体bean的表结构和填充内容,组将成数据库表的插入sql语句,通过数据源名称取得线程池中的数据连接,通过取得的数据连接执行数据库表的插入sql语句,完成数据保存入库;在查询数据过程中:组装查询sql语句,通过数据源名称取得线程池中的数据连接,通过取得的数据连接执行数据库表的查询sql语句,将查询结果组装成对应的实体列表。

上述线程数据连接池的同一个线程中只存在同一个连接,这样能在同一个线程过来获取连接的时候,确保取到的是同一连接,以此来保证同一个线程请求的事务提交。

上述的实体bean中,以反射机制解析出数据库表名和表字段,这样能很容易反响生成数据库表以及字段的相关信息,最主要的是字段注解也一并生成。

上数据源池所创建的数据库通过负载均衡取数据器连接回数据源池,这样可以不断的保留与扩充数据库,同时,负载均衡取数据器的使用能实现多条网络链路分担数据流量。

附图说明

图1是本发明的连接结构示意图;

具体实施方式

实施例1. 如图1所示,一种数据库引擎,其包括负载均衡取数据器、数据库实体bean,其特征在于;通过数据源配置文件,建立多个能与不同类型的数据库相连接的数据源池,以数据源名称从数据源池中获取数据连接,将数据连接放入线程数据连接池,所述的数据源池与数据连接池依次与基础sql执行层、持久化对象sql转换层、外部操作接口层相连,线程数据连接池的同一个线程中只存在同一个连接,在实体bean中,以反射机制解析出数据库表名和表字段,数据源池所创建的数据库通过负载均衡取数据器连接回数据源池。

其运转过程

1.自动创建数据库表过程:

①建立数据库实体bean,并在实体中加入自定义的表名和字段注解。

②通过数据源配置文件,建立多数据源池,在同一个应用中可使用不同类型的数据库。

③通过数据源名称从数据源池中获取数据连接,并放入线程数据连接池,在同一个线程中只存在同一个连接,以此来保证同一个线程请求的事务提交。

④组织查询数据表信息的sql语句,调用外部操作接口层的接口查询出数据库中的所有表结构信息。

⑤加载数据库实体bean,通过反射机制解析出实体bean的数据库表名和表字段。

⑥判断数据库中是否存在解析出的实体beanr的数据库表名。不存在则执行创建操作。

⑦根据解析出的数据库表名和字段,组装创建数据库表的sql语句。

⑧调用外部操作接口层的接口,通过取线程连接池中的连接执行sql语句,完成数据库表创建。

2.保存数据过程:

①建立实体bean。

②将需要保存的内容放入实体bean中。

③通过反射机制解析出实体bean的表结构和填充内容。

④组将成数据库表的插入sql语句。

⑤通过数据源名称取得线程池中的数据连接。

⑥通过取得的数据连接执行数据库表的插入sql语句。

⑦完成数据保存入库。

3. 查询数据过程:

①组装查询sql语句。

②通过数据源名称取得线程池中的数据连接。

③通过取得的数据连接执行数据库表的查询sql语句。

④将查询结果组装成对应的实体列表。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1