Java JDBC连接Oracle是一种常见的数据库连接方式。通过Java JDBC连接Oracle,我们可以在Java程序中对Oracle数据库进行增删改查等操作。
下面以一个简单的例子来说明Java JDBC连接Oracle的具体步骤。
//加载数据库驱动程序 Class.forName("oracle.jdbc.driver.OracleDriver"); //设置数据库连接信息 String url = "jdbc:oracle:thin:@localhost:1521:orcl"; String username = "scott"; String password = "tiger"; //获取数据库连接 Connection conn = DriverManager.getConnection(url,username,password); //创建sql语句 String sql = "SELECT * FROM emp"; //创建Statement对象 Statement stmt = conn.createStatement(); //执行sql语句并返回结果集 ResultSet rs = stmt.executeQuery(sql); //遍历结果集并输出结果 while (rs.next()) { String empNo = rs.getString("empno"); String empName = rs.getString("ename"); System.out.println(empNo + "\t" + empName); }
上述代码中,首先加载Oracle数据库驱动程序,接着设置数据库连接信息,包括数据库地址、用户名和密码,然后通过DriverManager.getConnection()方法获取数据库连接。接下来,创建sql语句并通过Statement对象执行sql语句并返回结果集。最后,遍历结果集并输出结果。
除了上述代码中的步骤外,我们还可以通过PreparedStatement对象来执行带有参数的sql语句。例如:
//创建PreparedStatement对象 String sql = "INSERT INTO emp(empno,ename,job) VALUES (?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql); //设置参数 pstmt.setString(1,"1001"); pstmt.setString(2,"Tom"); pstmt.setString(3,"Manager"); //执行sql语句 int result = pstmt.executeUpdate();
上述代码中,我们通过PreparedStatement对象来执行带有参数的sql语句。首先,创建PreparedStatement对象并通过占位符(?)指定参数的位置。然后,通过setXXX()方法设置参数的值。最后,执行sql语句并返回结果。
在实际应用中,我们还需要注意连接池的使用。连接池可以提高数据库连接的效率和性能,避免频繁地创建和销毁数据库连接。例如:
//创建数据源 OracleDataSource ds = new OracleDataSource(); ds.setURL("jdbc:oracle:thin:@localhost:1521:orcl"); ds.setUser("scott"); ds.setPassword("tiger"); //创建连接池 ConnectionPoolDataSource cpds = new ConnectionPoolDataSource(); cpds.setDataSource(ds); //设置连接池属性 cpds.setinitialPoolSize(5); cpds.setMaxPoolSize(10); //获取连接池 DataSource dataSource = (DataSource) cpds; Connection conn = dataSource.getConnection();
上述代码中,我们通过OracleDataSource对象创建数据源,并通过ConnectionPoolDataSource对象创建连接池。接着,设置连接池属性,包括初始连接数和最大连接数。最后,通过getConnection()方法从连接池中获取数据库连接。
Java JDBC连接Oracle是一项必须掌握的技能,掌握它可以更方便地进行Oracle数据库开发。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。