浅析数据源在JDBC中的操纵[Java编程]
本文“浅析数据源在JDBC中的操纵[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
简介
众所周知,JDBC(Java数据库衔接)是Java 2企业版的重要构成部份.它是基于SQL层的API.通过把SQL语句嵌入JDBC接口的办法中,用户可以通过Java程序履行几近全部的数据库操作.JDBC只供应了接口,具体的类的实现要求数据库的计划者完成.通过生成这些接口的实例,即便关于差别的数据库,Java程序也可以精确地履行SQL调用.所以关于程序员来说,没必要把注意力放在若何向数据库发送SQL指令,因为程序员需求理解和用到的只是JDBC的接口,只有在极少数情形下会用到面向特定数据库的类,比方程序员但愿利用ORACLE的扩大API.
在JDBC程序中,首先需求做的是实现与数据库的衔接.在示例程序中,我们利用的是ORACLE8i的JDBC包.衔接数据库普通需求实现以下几个步骤:
1. 注册数据库驱动程序(driver).可以通过调用java.sql.DriverManager类的registerDriver办法显式注册驱动程序,也可以通过加载数据库驱动程序类隐式注册驱动程序.比方我们但愿向虚拟机注册Oracle8i JDBC驱动程序
// 显式注册
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// 隐式注册
Class.forName(“oracle.jdbc.driver.OracleDriver”);
关于虚拟机若何自动注册通过类加载器(ClassLoader)加载的数据库驱动程序超越了本文谈论的范围,在此不做具体谈论.
2.成立衔接.调用java.sql.DriverManager类的getConnection()办法可以成立与数据库的衔接.GetConnection()办法返回一个Connection对象.需求注意的是,getConnection()办法会自动从数据库驱动程序注册表中挑选一个最符合的驱动程序.
3.成立衔接后,答应自动更新(AutoCommit).调用java.sql.Connection接口的serAutoCommit()办法可以设定当程序向数据库发出一条SQL指令后,数据库能否当即更新.
下面是一个具体的实例.在该实例中,作为getConnection()办法参数的url利用的是Net8 keyword-value pair格局.当然也可以利用普通格局.数据库安装在名为Chicago的服务器上,利用的协议是TCP协议,利用的端口是1521,数据库的SID是chidb,利用的数据库驱动程序是Oracle JDBC Thin驱动程序.
import java.sql.*;
// 初始化常数
private static String url =
“jdbc:oracle:thin:@(description=(address=(host=Chicago)” +
“(protocol=tcp)(port=1521))(connect_data=(sid=chidb)))”;
// 也可以设定url为“jdbc:oracle:thin:@ Chicago:1521:chidb”
private static String username = “guest”;
private static String password = “guest”;
try
{
// 注册数据库
Class.forName(“oracle.jdbc.driver.OracleDriver”);
// 成立衔接
Connection conn =
DriverManager.getConnection(url, username, password);
// 答应自动更新
Conn.setAutoCommit(true);
}
catch(ClassNotFoundException e )
{
e.printStackTrace();
}
catch(SQLException e)
{
e.printStackTrace();
}
从实际利用的角度动身,我们可以看出采纳这种方法衔接到数据库存在几个问题.第一是安全性问题,由于程序代码中包含用户名和密码,其他人假如能得到bytecode,可以通过反编译工具得到用户名和密码.第二是代码的可移植性问题.假如但愿衔接的数据库名称或用户名有所更改,程序员需求改正源程序,然后把改正过的程序发送给用户.也就是说,软件无法脱离数据库独立存在.这样不但会大大提高软件的本钱,也不利于软件本身的发展.还大概呈现这样的情形:在某些情形下,供应数据的机构不但愿数据库的用户名和密码让编写程序的程序员知道知道.这样就提出了一个问题,若何使Java和数据库之间成立衔接时躲藏一些敏感的信息.
以上是“浅析数据源在JDBC中的操纵[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:CORBA技术初探
- ·下一篇文章:Java中Class类工作原理详解
- ·中查找“浅析数据源在JDBC中的操纵”更多相关内容
- ·中查找“浅析数据源在JDBC中的操纵”更多相关内容