您的位置:首页 > 数据库 > Oracle

java操作ORACLE数据库JDBC[整理]

2012-06-02 15:21 387 查看
java操作oralce数据库其实与操作其他的数据库一样,例如mysql,sqlsever 等,都需要先加载驱动,然后建立连接,接下来访问Oracle数据库的方式就基本上一样了。

java与Oracle连接可以通过两种方式:

一:使用jdbc-odbc桥连接的方式连接Oracle

其中相关代码:

try{

//加载驱动

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//得到连接

Connection ct = DriverManager.getConnection("jdbc:odbc:test","scott","123456");

//下面和操作其它数据库一致

Statement sm = ct.createStatement();

ResultSet rs = sm.executeQuery("select * from dept");

while (rs.next()){

System.out.println("ID:"+rs.getString("id"));

//System.out.println("ID:"+rs.getString(1));//默认从1开始

}

rs.close();

sm.close();

ct.close();

}

catch(Exception e){

e.printStackTrace();

}

注:这种方法只能访问本地的数据库,因为它没有提供让你选择其他服务器上数据库填写IP的地方。

test为一个Oracle驱动:建立方法如下:开始-->控制面板-->管理工具-->数据源(ODBC)-->添加-->选择Oracle驱动-->完成-->Data Source Name填testsp,TNS Service Name 选择Oracle--点OK,也可以先点Test Connection测试一下连接是否成功。

二:使用JDBC连接Oracle

其中相关代码:

try {

//加载驱动

System.out.println("加载驱动.......");

Class.forName("oracle.jdbc.driver.OracleDriver");

System.out.println("驱动加载成功,开始连接");

//得到连接

Connection ct = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","123456");

System.out.println("连接成功.......");

//下面和操作其它数据库一致

Statement sm = ct.createStatement();

ResultSet rs = sm.executeQuery("select * from dept");

while (rs.next()){

System.out.println("ID:"+rs.getString("id"));

//System.out.println("ID:"+rs.getString(1));//默认从1开始

}

rs.close();

sm.close();

ct.close();

}

catch(Exception e){

e.printStackTrace();

}

================================================================

一个非常标准的Java连接Oracle数据库的示例代码

/**
* 一个非常标准的连接Oracle数据库的示例代码
*/
public void testOracle()
{
Connection con = null;// 创建一个数据库连接
PreparedStatement pre = null;// 创建预编译语句对象,一般都是用这个而不用Statement
ResultSet result = null;// 创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");// 加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
String url = "jdbc:oracle:" + "thin:@127.0.0.1:1521:XE";// 127.0.0.1是本机地址,XE是精简版Oracle的默认数据库名
String user = "system";// 用户名,系统默认的账户名
String password = "147";// 你安装时选设置的密码
con = DriverManager.getConnection(url, user, password);// 获取连接
System.out.println("连接成功!");
String sql = "select * from student where name=?";// 预编译语句,“?”代表参数
pre = con.prepareStatement(sql);// 实例化预编译语句
pre.setString(1, "刘显安");// 设置参数,前面的1表示参数的索引,而不是表中列名的索引
result = pre.executeQuery();// 执行查询,注意括号中不需要再加参数
while (result.next())
// 当结果集不为空时
System.out.println("学号:" + result.getInt("id") + "姓名:"
+ result.getString("name"));
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
// 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
// 注意关闭的顺序,最后使用的最先关闭
if (result != null)
result.close();
if (pre != null)
pre.close();
if (con != null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: