一、SQL注册器在WEB应用开发中的使用概述

在WEB应用开发中通常需要访问、操纵数据库,通常的做法是在业务处理层根据需要调用DAO的方法、属性等来访问持久层或者通过JNDI获得数据源、建立连接再执行SQL语句来访问操纵数据,无论哪种方式都离不开最终执行预先定义的SQL语句,SQL注册器就是对应用中所要执行的SQL语句提供一种统一管理的软件组件,开发人员可以通过SQL注册器定义、测试、修改自己的SQL语句,并在各自的业务模块中通过统一的方法进行调用,如果业务发生变化只需要修改注册器中定义的语句,而不必修改业务层的程序代码。在运行时实际执行的SQL语句往往是根据需要动态产生的,SQL注册器通过参数和宏这两种机制为动态产生SQL语句提供了良好的支持。另外不同种类的SQL语句(例如查询或修改操作)执行的方法和返回的结果是不同的,SQL注册器目前支持查询、添加、修改、删除类SQL语句以及存储过程的调用,并提供统一的返回对象以供检查。

二、集中式管理,提高应用开发效率:

如上所述,采用SQL注册器来访问数据库,改变了以往程序员根据个人习惯编写数据库访问的程序代码的方式,使用统一的调用方法调用SQL语句,避免为每一次执行SQL而编写冗长的代码去建立数据库连接以及处理可能抛出的异常,提高了开发效率,也使程序更加简洁易读,另外集中式管理为扩展程序功能提供了便利,例如可以通过注册器实现功能模块的授权管理等。

三、增强程序的可维护性:

程序在开发完成并部署后,经常会遇到业务发生变化的情况,以往的做法中由于SQL语句和业务处理模块紧密耦合在一起,必须修改程序代码,这势必带来系统需要重新编译和部署的问题,采用SQL注册器在某些情况下,比如业务的查询或修改条件发生了变化等,只需要修改注册器中定义的SQL语句即可完成任务,避免了改代码、编译、部署的麻烦,提高了可维护性。

四、完善的事务处理功能

SQL注册器在默认情况下每条SQL语句执行后自动提交,但是在实际应用中有时希望将多条语句放在一个事务中统一执行,这些语句要么全部成功,要么全部回滚,为此SQL注册器提供了批处理功能,即将多个SQL语句逐条放入批中,然后调用执行语句将这些语句当作一个事务统一执行。

五、灵活多样的调用方式:

SQL注册器提供了多个重载方法调用SQL语句,传入的参数和宏既可以是数组,也可以是字符串,以方便程序员用最合适的方式构造传入的数据,另外,SQL注册器还支持以测试方式和默认值方式执行SQL语句,在测试方式下数据修改最终不提交到数据库,以保证数据的完整性,默认值方式是以SQL语句定义时参数和宏设置的默认值来作为传入数据执行的方式。灵活的调用方式为应用开发阶段的编码和测试提供了便利。

六、动态SQL语句的支持:

实际运行时执行的SQL语句是根据定义的语句并使用传入的参数和宏替换相关部分得到的,程序员可以通过参数的方式替换查询条件中的表达式的值或者替换需要修改的数据库字段的值,宏是一种更为灵活的替换方式,程序员可以利用宏重新构造查询条件甚至整条SQL语句,通过参数和宏的使用极大的方便了程序员动态构造并执行SQL语句。

七、提供内置宏获取SESSION属性:

在WEB应用开发中,通常需要在SESSION中保存当前登录用户的信息,这些信息经常需要保存到数据库中,比如用户ID等,为了方便程序员获取这些信息,SQL注册器支持从SESSION对象中获取特定用户信息属性并保存到内置宏中,在SQL语句中可以使用这些内置宏保存用户信息。