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

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();
        }
    }
}

你可能感兴趣的:(java,oracle,数据库,exception,jdbc)