该系统软件框架对sql操作进行了封装,并提供了一批API帮助客户程序员更为简便的进行数据库操作。这些api包括:
-
统一的DbConnection管理,客户程序员只需将要执行的sql语句作为参数传入,api会将结果列表以二维字符串数组的形式返回。api提供特殊的方法,例如翻页处理等都提供了相应的处理。
-
按照功能划分dao操作类。类的编写有自身设计的一套规范。首先该功能的dao操作类设计为接口,然后按照数据库的不同特殊处理实现该接口。例如:接口为TestDAO.java,使用oracle数据库实现该接口,为OraTestDAO.java,使用sqlserver数据库实现该接口,为SqlTestDAO.java。dao操作类直接操作框架对数据库进行操作的DbConnection对象进行业务处理。
-
所有的接口实现的dao操作类在web服务器的一个特殊目录中存在一个xml格式的配置文件。xml 代码
- <DAOLIST>
- <DAO>
- <NAME>testdaoNAME>
- <CLASSNAME>com.test.dao.OraTestDAOCLASSNAME>
- <DESCRIPTION>测试DESCRIPTION>
- DAO>
- DAOLIST>
-
在web服务器的同时,会同时启动一个线程,读入该xml文件,并读入数据库配置参数文件。与hibernate这个框架相比,这个dao管理只能在web应用中使用。
-
前几篇提到的web层使用的Ctrl控制类,在框架设计中不能直接操作dao操作类,而是存在一个中间层,包括BO类和VOListIter类,编写这两个类都需实现框架提供的接口。bo类主要包括数据库的除获取数据列表以外的所有操作,如录入,修改等,VOListIter类专门为实现数据列表翻页设计,通过该类获取翻页数据列表方法,需要首先声明一个长度为5的Integer类型的数组,DbConnection类的该方法需要这个参数,将该列表的当前页数和最大页数返回。
这个数据库框架还提供了一些方便编写代码的操作,例如拼装sql语句,提供了一个这样的方法:MakeUp类。代码如下:
java 代码
- String sql = " INSERT INTO test_t (testid,testname) "
- + " VALUES (@,'#') ";
- String[] key = {
- test.getId(),test.getName()
- };
- sql = MakeUp.makeUp(key, sql);
这个makeUp方法会将sql语句拼装好,@表示数字占位,#表示字符占位。
这个系统的数据库操作管理大致就是这样了,比较简单,总的来说就是对dbconncetion 操作进行了重新封装,方便客户程序员的使用。