在获取到Connection对象后,我们就可利用Connection对象进行对数据库的操作了。 要进行查询操作,需要两个对象Statement和ResultSet。在执行 SELECT 语句时,我们可以使用 executeQuery方法,在执行后可以返回代表查询结果的ResultSet对象,即结果集。 Class.forName("org.postgresql.Driver"); 上述举例通过executeQuery方法获取了select * from department的结果集,然后通过print语句逐行输 入展示。 insert,delete和update的执行操作和select操作类似,但是不同的地方在于这些操作并不会返回 ResultSet,而是需要返回受影响的行数。在这里我们使用executeUpdate 而不是executeQuery, executeUpdate的返回值是一个整数,即受影响的行数。 public static void main(String[] args) {
代码语言:javascript复制Connection conn= getConn();
String sql = "select * from department";
try {
Statement stmt=conn.createStatement(); //准备Statement ResultSet rs=stmt.executeQuery(sql); //执行查询 ResultSetMetaData rsmd = rs.getMetaData(); int numCol = rsmd.getColumnCount();
代码语言:javascript复制 for (int i = 0; i < numCol; i ) {
System.out.print(rsmd.getColumnName(i 1) ' ');
}
System.out.println();
while(rs.next()) {
for (int i = 0; i < numCol; i ) {
System.out.print(rs.getString(i 1) ' ');
}
代码语言:javascript复制 System.out.println();
}
}
catch (SQLException e) {
e.printStackTrace();
}
} public static void main(String[] args) {
代码语言:javascript复制Connection conn= getConn();
String sql = "delete * from department where d_id=101";
try {
Statement stmt=conn.createStatement(); //准备Statement int rs=stmt.executeUpdate(); //执行sql操作,获取受影响行数
代码语言:javascript复制}
catch (SQLException e) {
e.printStackTrace();
}
finally {
try {
conn.close();
}
catch (SQLException e) {
e.printStackTrace();
} }
代码语言:javascript复制if (rs > 0) {
return true;
//如果受影响行数超过1行,则认为操作成功 }
以上代码通过函数返回值判断insert,delete,update操作是否成功。 在执行完SQL操作后,我们可以通过close方法来断开连接。 编译与运行 通过javac编译.java文件。 通过java程序运行OushuDBJDBC。 conn.close();