Java对soL数据库访问的一种新尝试
宋国平
(吉林广播电视大学,吉林长春 130022)
摘要:目前,Java在对SQL数据库进行访问时,主要是利用Java的JDBC相关规范进行,这种方式实际应用中存在不足。对SQL数据库访问进行了一种新型尝试,实现方式是建立后台SQL数据库触发器辅助,并
确保前台界面和后台数据库之间进行有效的动态连接,从而更好地进行项目设计与开发。
关键词:Java;SQL数据库;触发器
DOI:10.11907/rjdk.143366
TP392
:A:1672-7800(2014)011-0154-02
作者简介:宋国平(1968-),男,吉林长春人,硕士,吉林广播电视大学副教授,研究方向为计算机应用、计算机网络、远程教育。
0引言
Java是Sun公司推出的一门设计语言,是一种面向对象的、可以跨平台使用的程序设计语言。Java具有通用性好、适应于跨平台使用、执行效率高、可移植性好等优点。当前在众多平台上,如个人PC、游戏控制台、移动电话等,都可以使用Java语言进行开发[1]。SQL(Structured Query Language,结构化查询语言)是专为数据库而建立的操作命令集,是一种数据库开发设计语言。SQL数据库当前在项目开发方面有着广泛的应用。SQL支持3种模式结构:外模式(即用户模式)、模式(逻辑模式)以及内模式(物理模式)。
1SQL数据库连接方法和实例
Java主要是通过JDBC方式对SQL数据库进行访问。JDBC(Java Data base Connectivity),即Java数据库连接,是执行SQL语句时的Java API相关接口,这种接口主要由Java语言编写一种类或者接口。开发人员在应用该接口时,可以通过调用对应的API接口进行访问,从而实现对数据库的有效访问。
2设计依据
2.1JDBC不足之处
JDBC作为Java语言访问数据库的API相关技术,主要采用JDBC-ODBC桥驱动和JDBC直接驱动连接,这两种连接在调用及使用过程中都需要先完成驱动程序安装,方可在不同的平台中有效使用。JDBC在使用过程中,其运行速度受制于网络传输效果,主要原因在于使用JDBC的相关应用程序及驱动程序都是从网上或者对应的服务器中下载的,因而网络传输流量耗费较大。如何保证JDBC不受制于网络传输,值得探究。
2.2数据库激发器
本文尝试在后台数据库服务端建立一个存储器,对相关数据进行有效保存,这样在保证Java对SQL数据库进行有效访问的同时,确保访问速度。利用数据库激发器,首先与一个特定的表进行有效连接,之后对后端数据进行访问时,数据库激发器从其动态的存储结构中将数据提取出来,然后传递给前端界面,其设计的核心思想就是激发器会基于数据库的访问历史或者预存数据,对部分数据进行保护,当用户欲对信息进行更改时,激发器会自动做出响应,修改或者读取部分内容。如本系统设计的网络购物,用户在前台利用界面选项进行相对应的数据操作时,不必在没有引导的基础上对信息进行输入,利用数据库激发器,对选择进行一定引导,从而简化用户的相关操作,提高运行效率。在用户进行界面浏览、查询以及输入等操作下都可以运用数据库激发器进行对应的设计实现。
3设计概要
系统设计采用Visual J++应用程序进行前台界面开发,通过SQL Server实现数据库连接。系统设计的关键是如何确保前台界面与数据库之间实现动态连接。系统主要有3大模块:用户模块、管理模块及数据库模块。用户模块主要通过界面登陆到系统中进行商品选购;管理模块则是在后台对相关的用户信息以及用户需求进行采集,与数据库模块进行信息交互;数据库模块主要负责数据的存储以及信息的交互,将管理模块所需的信息或者用户模块所需信息进行汇总后反馈到前台。本文主要在用户登陆、查询等方面进行激发器软件模块设计[2]。
4设计实现
4.1前台界面与后台进行数据库连接
利用visual J++内部自动提供的数据窗体向导将数据捆绑到应用程序中,即利用Databinder控件绑定DNS使用。前台与后台的数据库连接通过visual J++内部的窗体设计器中提供的数据源控件进行实现[3]。
4.2管理员模块
系统管理员利用密码验证的方式对数据库进行管理。通过匹配代码的正确性进行密码验证,部分代码如下:
String Text();
if(t.equals(/20140323)) //与后台预先设置的密码进行比较
{btnAdd.show();
btnDelete.show();
btnUpdate.show();}
else if(! t.equals(/20140323)){
Form Form2=new Form2();
Form2.show();}
4.3用户模块
用户模块主要负责信息查询以及信息浏览。利用Single Record的对应方式对用户模块加以有效控制,在数据捆绑中,利用控件的对应属性对其进行设置。在使用Databinder控件进行操作时,需要注意的是将Datasource设置为对应的数据源名,便于与数据库进行对应的连接。
sql触发器的使用
4.4后台数据库
后台数据库除了处理数据、对数据进行有效存储外,还需要建立触发器,实现数据的动态读取与存储。数据库触发器设计实际上是与一个特定的数据表进行连接,这个数据表的对应数据会受到触发器的保护。当用户登录或者查询信息时,内容与数据表相同,就会自动激发触发器,触发器会调用相关代码,为用户提供对应选项,对一些相关内容进行存储,这样可以有效简化数据存储操作,从而动态实现用户界面与后台数据库之间的信息交互[4]。
4.4.1用户登录信息库表中的触发器
在用户登录时,后台数据库会基于用户的登陆信息激发触发器,从而将对应的用户信息保留下来,在其它处理中调用:
CREATE TRIGGER inserttonshopping1 ON dbo.login
FOR INSERT, UPDATE
AS
DECLARE @cust_name char(40)
SELECT @cust_name=inserted.地址
FROM inserted
insert into shopping(地址)
values (@cust_name)
4.4.2采购信息库表中的触发器
在用户购物时,特别是用户订购商品之后进行订单处理时,可以激发触发器中的数据表,之后调用激发器的对应代码,将用户的采购信息保存下来,从而更便捷、快速地调用用户相关采购信息。
CREATE TRIGGER triggerw ON dbo.shopping
FOR INSERT, UPDATe
AS
UPDATE shopping set shopping.价格=goods.bprice
FROM goods
WHERe goods.bname=shopping.产品名;
利用激发器可以有效提高信息数据处理效率,更加便捷地访问数据库,同时,在信息调取时,有效避免数据库从网络中调取对应内容,影响其自身的处理速度。
5其它优化设计
5.1优化SQL语句格式
Java项目对SQL数据库进行访问时, SQL语句的格式影响连接效率。一般在系统设计开发时,常使用Statement对象进行SQL语句的执行,这种方式相对简单,但是在项目开发时,需要每次对数据库进行重复的解析编译,因此,这种对象使用方式严重降低了数据的处理效率,从而影响到系统的设计开发。为了提高Java对SQL数据库的访问效率,在设计开发时,可以使用Preparestatement对象执行SQL语句开发。此时,其对应的命令会放入到命令缓冲区内,在下次编译或者解析时,不必再进行重复性编译,从而提高系统效率[5]。
5.2采用多线程技术

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。