您的位置:首页 >> Web开发 >> XML技术 >> XML教程 >> 正文
XML教程 RSS
 

教您使用XML封装数据库操作语句的实现

http://www.rdxx.com 06年07月25日 07:12 ChinaZ.com 我要投稿

关键词: 数据库操作 , 封装 , 语句 , XML , 数据 , 操作

    在项目开发的过程当中,项目组开发成员的编程风格差异和数据库操作语句SQL的灵活性给项目组带来了越来越多的操作和维护难度。

比如:

从user表中取出所有数据,有的人会写成“select * from user”,有的人会写成“select all from user”,虽然在操作中不会有任何的错误,但在其他人读程序的过程时就会产生不好的感觉。

如果这种程序差异在项目中的数量级很多,那么在开发的过程当中程序就会出现各种各样的风格,在维护的过程中就会拼命的挠头并诅咒那些当初写程序的人。

为了整篇文章的举例,现在我们在数据库中建立如下表:


TBL_USER
USERID BIGINT
USERNAME VARCHAR(20)
PASSWORD VARCHAR(20)
CREATETIME DATE

TBL_USER_INFO
USERID BIGINT
EMAIL VARCHAR(64)
MOBILE VARCHAR(13)

 

一:分析

A) 分析select语句

于是使用XML来封装数据库操作语句成为项目规范化操作的第一步骤。在这个步骤中,我们将举几个例子来逐步实现封装的目的。

比如 “ SELECT USERNAME, PASSWORD FROM TBL_USER ” 这个语句,分析成XML文件时可以有各种各样的写法,我们现在使用如下的表达方式:

分析1:


1 <dbtrans name=”selectUser”
table=”TBL_USER” method=”select”>
2 <get>
3 <property name=”username”
type=”string”/>
4 <property name=”password”
type=”string”/>
5 </get>
6 </dbtrans>

 

在第一行的句子中使用 dbtrans 为节点名称,属性name为这个交易的名称,这里为”selectUser”,属性table为索取表的名称,这里为”TBL_USER”,属性method为操作数据库的方法,这里为”select”,子节点意思为从数据库读取数据。子节点为读取的数据库字段,其中:

属性name为字段的名字,属性type为字段的类型,这里设置类型在后面的程序中可以体现出来。

对于


SELECT USERNAME, PASSWORD
FROM TBL_USER WHERE USERID=123

 

语句,我们根据上诉的分析,则可将XML描绘为:

分析2


1. <dbtrans name=”selectUserByKey”
table=”TBL_USER” method=”select”>
2. <key>
3 <property name=”userid” type=”long”/>
4 </key>
5 <get>
6 <property name=”username” type=”string”/>
7 <property name=”password” type=”string”/>
8 </get>
9 </dbtrans>

 

如果使用的是like操作,我们可以将第3句描述成为:


<property name=”username”
type=”string” match=”like”/>

 

对于


SELECT USERNAME, PASSWORD
FROM TBL_USER ORDER
BY USERNAME DESC

 

这个语句,XML如下分析

分析3


1. <dbtrans name=”selectUser”
table=”TBL_USER” method=”select”>
2 <get>
3 <property name=”username” type=”string”/>
4 <property name=”password” type=”string”/>
5 </get>
6 <order name="respcode" match="desc" />
6 </dbtrans>

 

这样的语句分析基本上可以完成了绝大部分的普通数据库的select语句的操作,但是毕竟还是会有一些我们无法预料的数据库操作语句会出现,比如


SELECT USERNAME, PASSWORD
FROM TBL_USER
WHERE CREATETIME >’2003-7-16’
AND CREATETIME<’2003-9-16’时,
同时出现了CREATETIME在 <key>之中,
这时我们可以将XML描绘成为
<key>
<property name=”starttime”
column=”createtime” type=”date” match=”>”>
<property name=”endtime”
column=”createtime” type=”date” match=”<”>
</key>

 

但即使使用了以上的变通方法,还是会有很多的特殊语句是无法完成的,比如

9 7 3 1 2 3 4 5 4 8 :

 
 
标签: 数据库操作 , 封装 , 语句 , XML , 数据 , 操作 打印本文
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站