<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>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # JDBC JDBC:(Java Database Connectivity) Java數據庫連接技術。 ## jar 包 jar 包就是一組類的集合,為什么要用于域名定義包的原因就在于此,一個項目中可以會引用很多的包,如果包中不能唯一標識一個類,在第三方使用的時候就有可能出現不能引用正確類的問題。 **在 Eclipse 中裝備 jar 文件** - 在項目目錄下新建一個文件夾 lib ,將 jar 文件拷貝到 lib 目錄; - 在 build path 菜單中 「libraries」→ 「add jars」關聯進項目; ## 使用 JDBC > mysql 的 JDBC 驅動 jar 包引入項目中。 **開發步驟:** 1. 選擇數據庫:加載數據庫驅動 2. 連接數據庫 3. 創建數據庫查詢 4. 獲取查詢結果 5. 關閉查詢和連接 在使用 JDBC 的時候,需要關注的幾個問題 - 查詢分為操作類(增加、刪除、修改)和查詢類。 - 要避免重復的創建連接,增加數據庫的連接數。 - 注意異常的處理邏輯,保證沒有未關閉的無效連接存在。 **完整的 JDBC 操作代碼** ~~~ public class Demo1 { public static void main(String[] args) { insert("Tom", "1", "Java96"); } public static void insert(String name, String code, String clazz) { Connection conn = null; PreparedStatement ps = null; String url = "jdbc:mysql://localhost:3306/demo2"; String user = "root"; String password = "123456"; try { // 1. 選擇數據庫:加載數據庫驅動 Class.forName("com.mysql.jdbc.Driver"); // 2. 連接數據庫 conn = DriverManager.getConnection(url, user, password); // 3. 創建數據庫查詢 ps = conn.prepareStatement("INSERT1 INTO demo1(name,code,clazz) VALUES(?,?,?)"); ps.setString(1, name); ps.setString(2, code); ps.setString(3, clazz); // 4. 獲取查詢結果 int i = ps.executeUpdate(); System.out.println("一共執行了" + i + "條"); } catch (ClassNotFoundException e) { System.out.println("數據庫驅動沒有找到"); e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { // 5. 關閉查詢和連接 try { if (null != ps) { ps.close(); } if (null != conn) { conn.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>

                              哎呀哎呀视频在线观看