服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用sqlj开发数据库(2)


  用sqlj开发数据库(2)

   sqlj是什么?

   sqlj是一种允许把静态的 sql语句以文本形式嵌入java程序中的语言。在写一个sqlj应用程序时,我们编写一段java程序然后遵循某些特定的标准法则把sql语句嵌入在其中,这些法则定义了sql语句怎样写入java程序(具体情况请看oracle 8i sqlj开发指南与参考,你可以在documentation library光盘上找到)。
接下来,我们运行一个sqlj翻译器,通过把嵌入式结构化查询语句替换为调用调用sqlj运行时程序库的方式把sqlj程序转换成一个标准的java程序。生成的java程序就可以使用任何标准的java编译程序(例如javac)来编译了然后就可以配合数据库使用了。sqlj运行期环境是由一个瘦(即没有额外系统开销)sqlj运行时程序库组成,也就是说用纯java实现调用相应的数据库(oracle, db2等等)的jdbc驱动程序。

   sqlj类似于其他的嵌入式结构化查询语言的实现,像oracle pro * c (嵌入c语言环境的sql)。sqlj语言设计的目的就是帮助基于java的程序员构建数据库应用程序。sqlj是一个iso和ansi标准,也就是说由领头的数据库与软件供应厂商开发和支持的,包括oracle数据库管理系统公司,国际商业机器公司,美国赛贝斯公司, informix公司,美国康柏公司等。所有这些公司合作开发兼容的sqlj翻译器来实现使用不同的数据库。
sqlj的优点

   一个编译过的sqlj应用程序是一个标准的java程序,可以在任何具备三个组件的环境中运行,这三个组件是:jvm, sqlj运行时程序库和jdbc驱动程序。

   它提供了下列好处∶

   紧凑的代码 sqlj代码比jdbc代码更加紧凑并且无差错。在编译时对语法和语义进行检查。sqlj编译器提供了类型检查和模式对象检查来找出在sql语句中的语法错误或遗漏或拼错这样的错误,这是在编译过程中进行而不是在运行过程中进行。因此,使用sqlj编写的程序比使用jdbc编写的程序更加健壮。

   多厂商互用性 sqlj语法是由主要的软件供应厂商开发和支持的。因为sqlj程序使用运行时jdbc调用访问数据库,所以sqlj可以访问任何jdbc驱动程序可以实现的数据库服务器。

   灵活的部署 因为sqlj运行时程序库是基于java的程序,所以sqlj应用程序可以在任何jdbc配置环境中配置,例如瘦客户端,中间层或是数据库服务器上等。

   供应厂商具体定制 sqlj通过后续的java字节码的定制支持供应厂商具体产品的特色和扩展。它可以被用来改善sql查询语言的执行性能,使用具体供应厂商提供的性能或功能上的扩展,而不用考虑sqlj程序如何变化,以及调试和运行记录等情况。

(未完待续)

扫描关注微信公众号