JDBC是Java对数据库操作的标准,它有着良好的可移植性和语法规范性。在Java语言环境中,JDBC是Java访问数据库的基础。本文将介绍如何使用Java JDBC库操作Oracle数据库。
使用JDBC查询Oracle数据库,需要引入Oracle JDBC驱动程序,并使用Java的SQL包中的相应API进行操作。以下是一个简单的Java程序,展示了如何使用JDBC查询Oracle数据库:
import java.util.*;
import java.sql.*;
public class OracleJdbcTest {
public static void main(String[] args) throws Exception {
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
String user = "system";
String password = "123456";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,user,password);
Statement stmt = conn.createStatement();
String sql = "SELECT * FROM employees";
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
int age = rs.getInt("age");
System.out.println("id:" + id + ",name:" + name + ",age:" + age);
}
rs.close();
stmt.close();
conn.close();
}
}
上述程序中,驱动程序通过“Class.forName(driver)”进行加载;连接字符串“url”指定了Oracle数据库的IP地址(本例中为localhost)、端口(默认为1521)、服务名(orcl),用户名(user)和密码(password);通过“conn.createStatement()”获得了Statement对象,并执行SQL语句;结果存储在ResultSet对象中,通过while循环遍历每一条记录,并输出到控制台;最后关闭ResultSet、Statement和Connection对象。
对于复杂的查询,SQL语句可能需要动态生成,可以使用Java的PreparedStatement对象。例如,下面的代码展示了如何查询年龄在18岁及以下的员工:
String sql = "SELECT * FROM employees WHERE age
在这个例子中,SQL语句中使用了一个参数“?”,PreparedStatement的setInt()方法用来动态设置这个参数的值。
除了查询操作,JDBC还可以实现插入、更新和删除等操作。以下是一个插入操作的示例代码:
String sql = "INSERT INTO employees(id,name,age) VALUES(?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1,1001);
pstmt.setString(2,"Jack");
pstmt.setInt(3,20);
int count = pstmt.executeUpdate();
System.out.println("插入行数:" + count);
pstmt.close();
conn.close();
在这个例子中,使用PreparedStatement对象动态设置了SQL语句中的参数,然后使用executeUpdate()方法执行插入操作。
总结来说,Java JDBC库提供了许多API,可以用来与Oracle数据库进行各种操作。上述代码只是一个简单的例子,更多用法可以参考官方文档和API文档。在实际开发中,需要根据具体的业务需求和数据结构,选择合适的JDBC操作。