<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # JDBC JDBC:(Java Database Connectivity) Java數據庫連接技術。 ## jar 包 jar 包就是一組類的集合,為什么要用于域名定義包的原因就在于此,一個項目中可以會引用很多的包,如果包中不能唯一標識一個類,在第三方使用的時候就有可能出現不能引用正確類的問題。 **在 Eclipse 中裝備 jar 文件** * 在項目目錄下新建一個文件夾 lib ,將 jar 文件拷貝到 lib 目錄; * 在 build path 菜單中 「libraries」→ 「add jars」關聯進項目; `JDBC`jar包下載地址 ## 使用 JDBC >[warning] mysql 的 JDBC 驅動 jar 包引入項目中。 **開發步驟:** 1. 選擇數據庫:加載數據庫驅動 2. 連接數據庫 3. 創建數據庫查詢 4. 獲取查詢結果 5. 關閉查詢和連接 在使用 JDBC 的時候,需要關注的幾個問題 * 查詢分為操作類(增加、刪除、修改)和查詢類。 * 要避免重復的創建連接,增加數據庫的連接數。 * 注意異常的處理邏輯,保證沒有未關閉的無效連接存在。 **完整的 JDBC 操作代碼** ~~~ package com.ntdodoke.allBegin; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Demo { public static void main(String[] args) { getDataFromDataBase(); } public static void getDataFromDataBase() { Connection conn = null;//Connection是與特定數據庫連接回話的接口 PreparedStatement ps = null; try { //1.注冊驅動(靜態方法)(包名+類名),告知JVM使用的是哪一個數據庫的驅動 Class.forName("com.mysql.cj.jdbc.Driver"); //設置連接地址,時間格式和編碼格式(因為版本升級,所以需要加上時間格式) String url = "jdbc:mysql://localhost:3306/j121study?serverTimezone=UTC&characterEncoding=UTF-8"; String user = "root"; String password = "123456"; //2.連接數據庫 conn=DriverManager.getConnection(url,user,password); /** * DriverManager類用來管理數據庫中的所有驅動程序。 * 是JDBC的管理層,作用于用戶和驅動程序之間,跟蹤可用的驅動程序,并在數據庫的驅動程序之間建立連接。 * 此外,DriverManager類中的方法都是靜態方法,所以在程序中無須對它進行實例化,直接通過類名就可以調用。 * DriverManager類的常用方法有getConnection(String url,String user,String password)方法 */ //3.獲取語句執行平臺,并創建數據庫查詢 //Statement s = conn.createStatement();Statement接口創建之后,可以執行SQL語句,完成對數據庫的增刪改查。然而查詢略顯復雜。 //與 Statement一樣,PreparedStatement也是用來執行sql語句的,與創建Statement不同的是,需要根據sql語句創建PreparedStatement。 //除此之外,還能夠通過設置參數,指定相應的值,而不是Statement那樣使用字符串拼接。 ps = conn.prepareStatement("select * from school where school_name=?"); //該語句為參數保留一個問號作為占位符 ps.setString(1, "渡課教育躍龍路主校區"); //4.執行查詢語句,并獲取查詢結果 ResultSet rs = ps.executeQuery(); while(rs.next()) { System.out.println(rs.getInt("id")); System.out.println(rs.getString("address")); } conn.close(); ps.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { if(null != conn) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } if(null != ps) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } } } } ~~~ **考慮了連接創建效率的 JDBC 代碼,以及查詢的字段處理** ~~~ package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class Demo2 { public static void main(String[] args) { createConn(); for (int i = 1; i <= 100; i++) { String istr = String.format("%03d", i); exeUpdate("Jack" + istr, String.valueOf(i), "Java96"); } exeQuery("Jack"); closeConn(); } private static Connection conn; /** * 創建連接 */ public static void createConn() { try { conn = null; String url = "jdbc:mysql://localhost:3306/demo2"; String user = "root"; String password = "123456"; // 1. 選擇數據庫:加載數據庫驅動 Class.forName("com.mysql.jdbc.Driver"); // 2. 連接數據庫 conn = DriverManager.getConnection(url, user, password); } catch (ClassNotFoundException e) { System.out.println("數據庫驅動沒有找到"); e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } public static void exeQuery(String name) { PreparedStatement ps = null; try { // 創建數據庫查詢 ps = conn.prepareStatement("SELECT id,name,code,clazz FROM demo1 WHERE name LIKE ?"); ps.setString(1, name + "%"); // 獲取查詢結果 ResultSet rs = ps.executeQuery(); // 遍歷結果 while (rs.next()) { int id = rs.getInt("id"); String name1 = rs.getString("name"); String code = rs.getString("code"); String clazz = rs.getString("clazz"); System.out.println("id="+id+",name="+name1+",code="+code+",clazz="+clazz+""); } } catch (SQLException e) { e.printStackTrace(); } finally { // 5. 關閉查詢 try { if (null != ps) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } } } public static void exeUpdate(String name, String code, String clazz) { PreparedStatement ps = null; try { // 創建數據庫查詢 ps = conn.prepareStatement("INSERT INTO demo1(name,code,clazz) VALUES(?,?,?)"); ps.setString(1, name); ps.setString(2, code); ps.setString(3, clazz); // 獲取查詢結果 int i = ps.executeUpdate(); System.out.println("一共執行了" + i + "條"); } catch (SQLException e) { e.printStackTrace(); } finally { // 5. 關閉查詢 try { if (null != ps) { ps.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * 關閉連接 */ public static void closeConn() { // 5. 關閉連接 try { if (null != conn) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看