第一個JDBC程序
第一個JDBC程序
? 編寫一個程序,這個程序從student表中讀取數據,并打印在命令行窗口中。
一、搭建實驗環境 :
1、新建一個Java工程,并導入數據驅動。
二、編寫程序,在程序中加載數據庫驅動
方法①,DriverManager.registerDriver(Driver driver)
DriverManager.registerDriver(new OracleDriver());
方法②
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
三、建立連接(Connection)
Connection conn = DriverManager.getConnection(url,user,pass);
四、創建用于向數據庫發送SQL的Statement對象,并發送sql
Statement st = conn.createStatement();
ResultSet rs = st.excuteQuery(sql);
五、從代表結果集的ResultSet中取出數據,打印到命令行窗口
六、斷開與數據庫的連接,并釋放相關資源
TestJDBC.java
import java.sql.*; public class TestJDBC { private static Connection conn = null; private static Statement statement = null; private static ResultSet rs = null; public static void main(String[] args) { } public static void executeQuery(String sql) { try { // 1, 向JDBC注冊(需要操作的)數據庫操作 // ①,將驅動引入到項目中 // ②,通過反射機制注冊驅動 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); // 2,通過DriverManager獲取Java和數據庫之間的連接 conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=mydb", "sa", "admin123"); // 3,準備要操作的SQL語句 // 4,從連接conn中獲取sql 編譯工具 statement = conn.createStatement(); // 5,通過sql語句的編譯工具執行sql語句 rs = statement.executeQuery(sql); while (rs.next()) { int age = rs.getInt("sage"); System.out.println(rs.getString("sno") + "\t" + rs.getString("sname") + "\t" + age + "\t" + "," + rs.getString("sdept")); } // 關閉數據庫連接 } catch (SQLException e) { System.out.println("連接數據庫失敗"); e.printStackTrace(); } catch (ClassNotFoundException e) { System.out.println("加載驅動失敗!"); e.printStackTrace(); } finally { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } // Statement 中的boolean // flag=st.statement(sql)方法:如果操作成功,返回false,如果操作失敗,則返回true; public static void executeUpdate(String sql) { try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection conn = DriverManager.getConnection( "jdbc:sqlserver://localhost:1433;databaseName=mydb", "sa", "admin123"); Statement ps = conn.createStatement(); int i = ps.executeUpdate(sql); if (i > 0) { System.out.println("操作成功"); } else { System.out.println("操作失敗"); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { if (statement != null) { try { statement.close(); } catch (SQLException e) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } }