技术开发 频道

基于DM的持久层基础文件快速生成工具

  【IT168 文档】达梦数据库(以下简称DM)是武汉达梦数据库有限公司自主开发的关系数据库管理系统(DBMS),DM基于成熟的关系数据模型和国际标准接口,是一个大型通用的、跨平台、高效稳定的数据库管理系统。

  iBATIS是一个O/R Mapping解决方案,是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。iBATIS 包括 for Java 和 for .NET 两个版本,for Java 版提供了SQL Maps 和 DAO 框架,for .NET 只提供了 SQL Maps 框架。本文只对基于DM的for Java 版的SQL Maps 和 DAO 框架的基础文件快速生成做一个探讨。

  iBATIS的具体实现主要包含DAO、SQLMAPDAO、SERVICE、DOMAIN以及与DOMAIN对应的Xml配置文件,在应用中对数据库单表的增删改查操作最为频繁,每一个表对应的持久层基础文件都是依赖于表结构而产生的,如果项目中涉及到的表非常多,工作量会非常大,而且重复性的编码也不可避免地会产生一些错误,影响项目进度。为了减少编码的工作量和错误,使程序开发人员更多地关注业务处理,本文就基于达梦数据库的持久层基础文件快速生成工具的制作思路做一个简要介绍。

  持久层基础文件总体结构基本是一致的,所不同的是其所操作的数据表的结构,因此我们只要知晓他们的共同点并找出规律,我们就不难制作一个快速生成工具。

  1、 制作模板文件:SqlMap.xml、Domain.java、Dao.java、SqlMapDao.java、Service.java。SqlMap.xml是数据表对应的映射文件,与Domain.java中的字段一一对应。Dao.java是数据访问接口,SqlMapDao.java是Dao的实现,Service是对外提供的方法。模板文件中的内容涉及到数据字段的一律使用变量代替,便于替换生成文件。

  2、 制作数据库配置文件,主要包含数据库配置以及数据库字段类型与Java中变量类型的映射,对于在查询中使用精确、模糊、函数匹配做明确定义,同时还定义java文件的包名以及一些通用部分。配置文件如下:

  3、 获取数据表结构以及其对应的主键,因为获取表中唯一记录是依赖于主键获取的,所以没有主键的表在使用工具生成时会出错。DM中获取数据库中相关对象的Sql语句如下:数据库用户表:

  select id,name from sysdba.systables where type = 'U'

  其中id为表ID,name为表名。

  数据表中的所有字段及字段类型:

  select name,type from sysdba.syscolumns where id=表ID

  其中name为字段名,type为字段类型。

  数据表中的主键:

  |select D.NAME as name from SYSDBA.SYSINDEXES A,SYSDBA.SYSCONSTRAINTS
  B,SYSDBA.SYSINDEXKEYS C, SYSDBA.SYSCOLUMNS D
where B.TABLEID = 表ID and B.TYPE = 'P' and A.NAME = B.NAME and A.ID = C.ID and D.ID =     B.TABLEID and D.COLID = C.COLID  order by C.KEYNO

  4、 大字段处理:由于大字段比较特殊,所有Blob、Clob字段都提供单独的读写方法,如:

  5、 生成基础文件:载入模板文件,将字段与主键替换模板中变量即可。

  以上主要是提供一个思路给大家作为参考,一个小小的工具可以为我们节约宝贵的项目时间,而且不会出现任何错误,如遇特殊情况只做少量修改即可,可以极大地提高工作效率。

0
相关文章