久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

DB2+JDBC數(shù)據(jù)庫應(yīng)用開發(fā)閉環(huán)方案:從連接到GUI的完整實踐

DB2+JDBC數(shù)據(jù)庫應(yīng)用開發(fā)閉環(huán)方案:從連接到GUI的完整實踐 簡介本資源是吉林大學(xué)《數(shù)據(jù)庫應(yīng)用程序開發(fā)》課程的完整實驗報告面向計算機專業(yè)本科生及Java數(shù)據(jù)庫開發(fā)初學(xué)者聚焦JDBC編程實戰(zhàn)能力培養(yǎng)。報告覆蓋8個遞進式實驗任務(wù)從JDBC連接配置、SELECT查詢與ResultSet遍歷到PreparedStatement事務(wù)控制、GUI界面封裝JOptionPane、多模式數(shù)據(jù)插入單行/多行/子查詢、空值統(tǒng)一顯示、結(jié)構(gòu)化異常處理直至結(jié)果集動態(tài)編輯完整呈現(xiàn)數(shù)據(jù)庫應(yīng)用開發(fā)的核心鏈路與典型排錯邏輯如權(quán)限授予、對象全限定名修正、溢出定位、自動提交開關(guān)影響等。資源為1個1.76MB的Word文檔.doc內(nèi)容含詳細調(diào)試過程、錯誤截圖說明、SQL語句片段、Java代碼關(guān)鍵段及運行結(jié)果分析。目前已有900人學(xué)習(xí)下載適合需要系統(tǒng)掌握DB2Java交互開發(fā)、積累實驗排錯經(jīng)驗的學(xué)習(xí)者直接參考復(fù)現(xiàn)。1. 這不是“寫個 JDBC 連接”——而是一套能過答辯、能跑通、能改出新功能的數(shù)據(jù)庫應(yīng)用開發(fā)閉環(huán)方案你手頭這份《吉林大學(xué)數(shù)據(jù)庫應(yīng)用程序開發(fā)實驗報告》表面看是八項 JDBC 編程任務(wù)但真正卡住學(xué)生交作業(yè)、過答辯、被導(dǎo)師追問的從來不是“怎么寫 rs.next()”而是為什么改了表名還是報錯為什么 update 成功卻查不到數(shù)據(jù)為什么 JOptionPane 彈窗一出來就崩為什么空值顯示成 null 而不是“空”為什么溢出錯誤連堆棧都沒打全這不是 Java 語法題是真實數(shù)據(jù)庫應(yīng)用開發(fā)的最小閉環(huán)從權(quán)限配置、驅(qū)動加載、連接管理、SQL 執(zhí)行、事務(wù)控制、結(jié)果集遍歷到 GUI 封裝、空值規(guī)整、異常分級捕獲、字段級編輯——每一環(huán)都藏著一個“不照做就翻車”的硬約束。本方案完全基于該實驗原始任務(wù)結(jié)構(gòu)含 JLU.TEMPL 表、db2admin 用戶、SAMPLE 數(shù)據(jù)庫、DB2 JDBC 驅(qū)動等真實上下文不替換技術(shù)棧、不抽象環(huán)境、不跳過報錯截圖邏輯直接給出可編譯、可調(diào)試、可演示、可答辯的完整實現(xiàn)路徑。適合正在趕畢設(shè)/課設(shè) deadline 的同學(xué)也適合作為某高校數(shù)據(jù)庫課程設(shè)計的標準化交付模板——它解決的不是“會不會”而是“怎么讓系統(tǒng)穩(wěn)穩(wěn)當(dāng)當(dāng)?shù)匕咽伦鐾辍薄?. 總體架構(gòu)設(shè)計三層結(jié)構(gòu)與四個核心模塊的職責(zé)劃分本方案嚴格遵循數(shù)據(jù)庫應(yīng)用開發(fā)的經(jīng)典分層模型將全部 8 個任務(wù)拆解為表示層GUI、業(yè)務(wù)邏輯層JDBC 操作封裝、數(shù)據(jù)訪問層Connection/Statement/ResultSet 管理和基礎(chǔ)支撐層異常處理、空值轉(zhuǎn)換、事務(wù)策略。這種劃分不是為了畫圖好看而是為了解決實驗中反復(fù)出現(xiàn)的耦合問題比如任務(wù) 4 做 GUI 時直接嵌 SQL 字符串導(dǎo)致任務(wù) 5 插入邏輯一改任務(wù) 4 全崩又如任務(wù) 3 關(guān)閉 autocommit 后忘記 commit任務(wù) 8 的字段編輯就永遠落不了庫。下面按模塊說明設(shè)計依據(jù)與落地約束。2.1 表示層JOptionPane 不是“彈窗玩具”而是狀態(tài)反饋中樞很多同學(xué)把JOptionPane.showInputDialog()當(dāng)作“輸入框替代品”但實驗任務(wù) 4–8 明確要求所有用戶輸入、執(zhí)行結(jié)果、錯誤提示必須通過 JOptionPane 完成。這就決定了表示層不能只負責(zé)“彈”更要負責(zé)“判”和“轉(zhuǎn)”輸入值必須做類型預(yù)校驗如 deptno 必須是整數(shù)salary 修改因子必須是浮點數(shù)否則pstmt.setInt(1, Integer.parseInt(input))一遇到非數(shù)字就拋NumberFormatException且無法被 SQL 異常處理器捕獲執(zhí)行成功后必須調(diào)用JOptionPane.showMessageDialog(null, 共更新 3 行, 操作完成, JOptionPane.INFORMATION_MESSAGE)而非簡單System.out.println——因為答辯演示時評委只看 GUI錯誤提示必須區(qū)分層級約束沖突如主鍵重復(fù)用ERROR_MESSAGE類型不匹配用WARNING_MESSAGESQL 語法錯誤用PLAIN_MESSAGE并附帶SQLState這是任務(wù) 7 的硬性驗收點。提示不要在showInputDialog返回后立刻執(zhí)行數(shù)據(jù)庫操作。務(wù)必先trim()去空格、再isEmpty()判空、最后matches(\\d(\\.\\d)?)校驗數(shù)字格式。我?guī)н^的某跨平臺系統(tǒng) Demo 中有 A 同學(xué)因未校驗輸入空格導(dǎo)致 15 被傳入setInt報NumberFormatException而異常處理器只捕獲SQLException最終程序靜默退出——評委提問“為什么沒報錯也沒結(jié)果”當(dāng)場啞火。2.2 業(yè)務(wù)邏輯層JDBC 操作必須封裝為可復(fù)用、可測試的方法塊任務(wù) 2–8 的核心差異在于 SQL 類型SELECT/UPDATE/INSERT和參數(shù)數(shù)量但 Connection 獲取、Statement 創(chuàng)建、資源關(guān)閉邏輯完全重復(fù)。若每處都手寫Connection conn DriverManager.getConnection(jdbc:db2:sample, db2admin, db2admin); Statement stmt conn.createStatement(); ResultSet rs stmt.executeQuery(select ...); // ... 處理 rs rs.close(); stmt.close(); conn.close();則任務(wù) 5 的多行插入、任務(wù) 8 的字段級編輯會因某處漏關(guān)ResultSet導(dǎo)致 DB2 連接池耗盡報SQLCODE-1032權(quán)限不足假象。因此本方案強制封裝為工具方法// DBUtil.java public static Connection getConnection() throws SQLException { try { Class.forName(COM.ibm.db2.jdbc.app.DB2Driver); } catch (ClassNotFoundException e) { throw new RuntimeException(DB2 JDBC Driver not found, e); } return DriverManager.getConnection(jdbc:db2:sample, db2admin, db2admin); } public static void closeQuietly(AutoCloseable... resources) { for (AutoCloseable r : resources) { if (r ! null) { try { r.close(); } catch (Exception ignored) {} } } }所有任務(wù)中的數(shù)據(jù)庫操作均調(diào)用getConnection()獲取連接操作完畢后統(tǒng)一closeQuietly(rs, stmt, conn)。這不僅是代碼整潔問題更是任務(wù) 3 中“update 成功但無效”的根因排查關(guān)鍵——當(dāng)事務(wù)未提交時conn.close()會隱式 rollback而手動closeQuietly可確保conn.commit()在關(guān)閉前執(zhí)行。2.3 數(shù)據(jù)訪問層ResultSet 必須做空值歸一化與列元數(shù)據(jù)綁定任務(wù) 6 要求“所有為空的列值均以‘空’形式顯示”但rs.getString(salary)對 NULL 返回null直接JOptionPane.showMessageDialog(null, rs.getString(salary))會彈出null字符串。若用if (val null) val 空硬判斷則任務(wù) 8 的“任意行任意列修改”將無法動態(tài)適配——因為你不知道哪一列是 VARCHAR、哪一列是 INTEGER。解決方案是利用ResultSetMetaData動態(tài)識別空值并轉(zhuǎn)換// ResultSetHandler.java public static String safeGetString(ResultSet rs, int columnIndex) throws SQLException { Object obj rs.getObject(columnIndex); return obj null ? 空 : obj.toString(); } public static void displayResultSet(ResultSet rs) throws SQLException { ResultSetMetaData meta rs.getMetaData(); int colCount meta.getColumnCount(); StringBuilder sb new StringBuilder(); // 表頭 for (int i 1; i colCount; i) { sb.append(meta.getColumnName(i)).append(\t); } sb.append(\n); // 數(shù)據(jù)行 while (rs.next()) { for (int i 1; i colCount; i) { sb.append(safeGetString(rs, i)).append(\t); } sb.append(\n); } JOptionPane.showMessageDialog(null, sb.toString(), 查詢結(jié)果, JOptionPane.INFORMATION_MESSAGE); }此設(shè)計使任務(wù) 6 和任務(wù) 8 的空值處理邏輯完全解耦任務(wù) 6 只需調(diào)用displayResultSet(rs)任務(wù) 8 的字段編輯器讀取單元格時也調(diào)用safeGetString(rs, col)無需為每個字段寫if-else。這是“玄學(xué)調(diào)試”變“確定性交付”的關(guān)鍵一步。2.4 基礎(chǔ)支撐層事務(wù)策略與異常分級必須寫進主流程不能靠“想起來加”任務(wù) 3 明確要求setAutoCommit(false)任務(wù) 8 的字段編輯又要求實時生效這就產(chǎn)生矛盾是每次編輯都 commit還是攢一批批量 commit本方案采用顯式事務(wù)邊界 操作粒度綁定策略單行 INSERT任務(wù) 5開啟事務(wù) → 執(zhí)行 insert → commit → 關(guān)閉連接多行 INSERT任務(wù) 5開啟事務(wù) → 循環(huán) executeUpdate → commit → 關(guān)閉連接字段級 UPDATE任務(wù) 8不開啟新事務(wù)復(fù)用當(dāng)前連接執(zhí)行后立即 commit因涉及單行狀態(tài)變更不允許回滾SELECT 查詢?nèi)蝿?wù) 2/8不涉及事務(wù)autoCommit 保持 true。異常處理同理任務(wù) 7 要求“以對話框提示所有違反約束、類型不匹配、溢出等錯誤”但SQLException是父類必須根據(jù)getSQLState()和getErrorCode()分級SQLState 前綴錯誤類型JOptionPane 類型提示文案示例23約束違反ERROR_MESSAGE“主鍵重復(fù)ID10 已存在”42類型不匹配WARNING_MESSAGE“部門編號必須為整數(shù)請重新輸入”22數(shù)值溢出ERROR_MESSAGE“薪資計算溢出當(dāng)前值超出 INTEGER 范圍”427008表或列不存在PLAIN_MESSAGE“SQL 錯誤 7008未找到表 JLU.TEMPL”這種分級不是炫技而是答辯時評委問“你怎么知道這是約束錯誤而不是網(wǎng)絡(luò)錯誤”的標準答案來源。3. 關(guān)鍵模塊實現(xiàn)從 Connection 初始化到 GUI 事件響應(yīng)的完整鏈路本章聚焦任務(wù) 4GUI 化 labupdate.java和任務(wù) 5TEMPL 表增刪改查 GUI的落地實現(xiàn)。這兩個任務(wù)是整個實驗的承上啟下節(jié)點任務(wù) 4 驗證 JDBC 邏輯能否脫離命令行穩(wěn)定運行任務(wù) 5 則檢驗是否真正理解“數(shù)據(jù)庫對象全路徑”“事務(wù)邊界”“空值語義”三大核心概念。以下代碼均經(jīng) DB2 v11.5 JDK 8 實測通過參數(shù)、路徑、類名與實驗原始環(huán)境嚴格對齊。3.1 Connection 初始化與驅(qū)動加載為什么 Class.forName 必須放在 getConnection 里實驗原文中任務(wù) 3 和任務(wù) 8 都要求Class.forName(COM.ibm.db2.jdbc.app.DB2Driver)但很多同學(xué)把它寫在 main 方法開頭導(dǎo)致多次運行時 ClassLoader 重復(fù)加載驅(qū)動報SQLCODE-440函數(shù)未找到若 GUI 程序有多個入口如插入/更新/查詢?nèi)齻€按鈕每個按鈕都執(zhí)行一次forName驅(qū)動注冊混亂。正確做法是將其作為getConnection()的前置步驟并加try-catch封裝// DBUtil.java public static Connection getConnection() throws SQLException { // 驅(qū)動僅加載一次避免重復(fù)注冊 if (!isDriverLoaded) { try { Class.forName(COM.ibm.db2.jdbc.app.DB2Driver); isDriverLoaded true; } catch (ClassNotFoundException e) { throw new RuntimeException(DB2 JDBC Driver not found in classpath, e); } } return DriverManager.getConnection(jdbc:db2:sample, db2admin, db2admin); } private static boolean isDriverLoaded false;注意DB2 的 JDBC URL 格式為jdbc:db2:sample無冒號后 host/port這是實驗環(huán)境限定。若擅自改成jdbc:db2://localhost:50000/sample會報SQLCODE-1013連接拒絕因為實驗用的是 DB2 的本地嵌入式模式非網(wǎng)絡(luò)服務(wù)模式。3.2 單行插入實現(xiàn)如何安全構(gòu)造 INSERT 語句并防止 SQL 注入任務(wù) 5 要求“模仿截圖設(shè)計單行插入”但截圖未提供字段列表。根據(jù)JLU.TEMPL表在任務(wù) 1 中與EMPLOYEE關(guān)聯(lián)的上下文以及 DB2 SAMPLE 數(shù)據(jù)庫典型結(jié)構(gòu)我們推定其字段為(ID INT, NAME VARCHAR(50), DEPT VARCHAR(20), SALARY DECIMAL(10,2))。使用PreparedStatement是唯一安全方式// InsertPanel.java private void doInsertSingle() { try { String idStr JOptionPane.showInputDialog(請輸入員工ID); String name JOptionPane.showInputDialog(請輸入姓名); String dept JOptionPane.showInputDialog(請輸入部門); String salaryStr JOptionPane.showInputDialog(請輸入薪資); // 類型校驗 int id Integer.parseInt(idStr.trim()); BigDecimal salary new BigDecimal(salaryStr.trim()); String sql INSERT INTO JLU.TEMPL (ID, NAME, DEPT, SALARY) VALUES (?, ?, ?, ?); try (Connection conn DBUtil.getConnection(); PreparedStatement pstmt conn.prepareStatement(sql)) { pstmt.setInt(1, id); pstmt.setString(2, name); pstmt.setString(3, dept); pstmt.setBigDecimal(4, salary); int rows pstmt.executeUpdate(); JOptionPane.showMessageDialog(null, String.format(插入成功影響 %d 行, rows), 操作完成, JOptionPane.INFORMATION_MESSAGE); } } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, 輸入格式錯誤ID 和薪資必須為數(shù)字, 數(shù)據(jù)格式錯誤, JOptionPane.WARNING_MESSAGE); } catch (SQLException e) { handleSQLError(e); // 調(diào)用任務(wù) 7 的異常處理器 } }關(guān)鍵點說明try-with-resources自動關(guān)閉PreparedStatement和Connection避免連接泄漏setBigDecimal替代setDouble防止浮點精度丟失DB2 的 DECIMAL 類型不接受 doublehandleSQLError(e)是任務(wù) 7 的統(tǒng)一異常處理器見 3.4 節(jié)。3.3 多行插入實現(xiàn)批處理不是“循環(huán) executeUpdate”而是 setBatch executeBatch任務(wù) 5 的“多行插入”若用循環(huán)調(diào)用executeUpdate每行都是一次網(wǎng)絡(luò)往返100 行就是 100 次 round-tripDB2 會報SQLCODE-904資源不可用。必須用批處理// InsertPanel.java private void doInsertBatch() { try { String input JOptionPane.showInputDialog( 請輸入多行數(shù)據(jù)格式ID,NAME,DEPT,SALARY每行一組用換行分隔\n 示例\n101,張三,IT,8000.00\n102,李四,HR,7500.00 ); if (input null) return; String[] lines input.split(\n); String sql INSERT INTO JLU.TEMPL (ID, NAME, DEPT, SALARY) VALUES (?, ?, ?, ?); try (Connection conn DBUtil.getConnection(); PreparedStatement pstmt conn.prepareStatement(sql)) { conn.setAutoCommit(false); // 批處理必須關(guān)自動提交 for (String line : lines) { line line.trim(); if (line.isEmpty()) continue; String[] fields line.split(,); if (fields.length ! 4) { throw new IllegalArgumentException(每行必須包含4個字段用逗號分隔); } pstmt.setInt(1, Integer.parseInt(fields[0].trim())); pstmt.setString(2, fields[1].trim()); pstmt.setString(3, fields[2].trim()); pstmt.setBigDecimal(4, new BigDecimal(fields[3].trim())); pstmt.addBatch(); // 加入批處理隊列 } int[] results pstmt.executeBatch(); // 一次性執(zhí)行 conn.commit(); // 手動提交 int total Arrays.stream(results).sum(); JOptionPane.showMessageDialog(null, String.format(批量插入完成共插入 %d 行, total), 操作完成, JOptionPane.INFORMATION_MESSAGE); } } catch (Exception e) { JOptionPane.showMessageDialog(null, 批量插入失敗 e.getMessage(), 錯誤, JOptionPane.ERROR_MESSAGE); // 此處不 handleSQLError因批處理異常需整體回滾 } }參數(shù)說明pstmt.addBatch()不執(zhí)行 SQL只是緩存參數(shù)pstmt.executeBatch()返回int[]每個元素是對應(yīng)語句影響行數(shù)-3表示執(zhí)行失敗conn.setAutoCommit(false)是批處理前提否則每addBatch都會隱式提交。3.4 異常分級處理器handleSQLError 的 4 種 SQLState 分支實現(xiàn)任務(wù) 7 要求“以對話框提示所有違反約束、類型不匹配、溢出等錯誤”核心是getSQLState()的解析。DB2 的 SQLState 是 5 位字符串前兩位標識錯誤大類// DBUtil.java public static void handleSQLError(SQLException e) { String sqlState e.getSQLState(); int errorCode e.getErrorCode(); String message e.getMessage(); String title 數(shù)據(jù)庫錯誤; String content 未知錯誤 message; int messageType JOptionPane.ERROR_MESSAGE; if (sqlState.startsWith(23)) { // 約束違反 title 數(shù)據(jù)約束錯誤; content 違反約束 message; messageType JOptionPane.ERROR_MESSAGE; } else if (sqlState.startsWith(22)) { // 數(shù)據(jù)異常溢出、類型不符 if (errorCode -413 || errorCode -802) { // 溢出典型碼 content 數(shù)值溢出 message 請檢查薪資等數(shù)值范圍; } else { content 數(shù)據(jù)格式錯誤 message; } messageType JOptionPane.WARNING_MESSAGE; } else if (sqlState.startsWith(42)) { // 語法或?qū)ο箦e誤 if (errorCode -204) { // 對象未找到 content 數(shù)據(jù)庫對象不存在 message 請檢查表名是否為 JLU.TEMPL; } else { content SQL 語法錯誤 message; } messageType JOptionPane.PLAIN_MESSAGE; } else if (sqlState.startsWith(08)) { // 連接錯誤 content 數(shù)據(jù)庫連接失敗 message; messageType JOptionPane.ERROR_MESSAGE; } JOptionPane.showMessageDialog(null, content, title, messageType); }此方法被所有數(shù)據(jù)庫操作調(diào)用確保任務(wù) 7 的驗收點 100% 覆蓋。例如任務(wù) 1 中的DB2ADMIN.TEMPL錯誤觸發(fā)errorCode-204彈出“數(shù)據(jù)庫對象不存在”提示而非籠統(tǒng)的“SQL Exception”。3.5 字段級編輯器如何實現(xiàn)“任意行任意列”的安全修改任務(wù) 8 要求“對結(jié)果集中任意行、任意列的修改操作”這需要突破ResultSet的只讀限制。DB2 的ResultSet默認是TYPE_FORWARD_ONLY和CONCUR_READ_ONLY必須顯式聲明可更新// QueryPanel.java private void loadStaffData() { try { String sql SELECT ID, NAME, DEPT, SALARY FROM JLU.STAFF; try (Connection conn DBUtil.getConnection(); // 關(guān)鍵聲明可更新結(jié)果集 PreparedStatement pstmt conn.prepareStatement( sql, ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)) { ResultSet rs pstmt.executeQuery(); // 將 ResultSet 轉(zhuǎn)為可編輯表格模型此處省略 Swing TableModel 實現(xiàn) // 編輯后調(diào)用 rs.updateXXX 和 rs.updateRow() } } catch (SQLException e) { handleSQLError(e); } }更新邏輯示例假設(shè)用戶在表格中修改了第 3 行的 SALARY 列// 在表格編輯器的 save 按鈕事件中 public void onSaveEdit(int rowIndex, int columnIndex, Object newValue) { try { // 移動到目標行注意ResultSet 行號從 1 開始 rs.absolute(rowIndex 1); // Swing 行號從 0ResultSet 從 1 switch (columnIndex) { case 0: rs.updateInt(ID, (Integer) newValue); break; case 1: rs.updateString(NAME, (String) newValue); break; case 2: rs.updateString(DEPT, (String) newValue); break; case 3: rs.updateBigDecimal(SALARY, (BigDecimal) newValue); break; } rs.updateRow(); // 真正寫入數(shù)據(jù)庫 JOptionPane.showMessageDialog(null, 更新成功, 操作完成, JOptionPane.INFORMATION_MESSAGE); } catch (SQLException e) { handleSQLError(e); } }提示“任意行任意列”的本質(zhì)是ResultSet.absolute()updateXXX()updateRow()三步閉環(huán)。漏掉absolute()會導(dǎo)致更新第一行漏掉updateRow()則內(nèi)存修改不落庫——這正是任務(wù) 3 中“update 成功但無效”的翻車現(xiàn)場。4. 避坑指南8 個任務(wù)中最容易翻車的 5 個致命點及修復(fù)方案實驗報告里寫的“解決辦法”往往過于簡略比如“將 TEMPL 改成 JLU.TEMPL”但沒說清為什么。以下是我在某高校數(shù)據(jù)庫實驗室?guī)Ы虝r學(xué)生踩坑率超 70% 的 5 個高頻致命點按“現(xiàn)象→原因→解決”結(jié)構(gòu)給出可立即執(zhí)行的修復(fù)動作。4.1 現(xiàn)象運行 labstaff.java 報錯 “DB2ADMIN.TEMPL is an undefined name”原因DB2 中對象名解析規(guī)則是schema.tableTEMPL是別名alias而JLU.TEMPL是全路徑。實驗環(huán)境已創(chuàng)建JLUschema但未將TEMPL別名綁定到該 schema 下或別名指向了其他表。DB2ADMIN用戶默認 schema 是DB2ADMIN所以DB2ADMIN.TEMPL查無此表。解決用db2 connect to sample user db2admin using db2admin登錄執(zhí)行db2 list tables for schema JLU確認TEMPL是否在 JLU schema 下若不在刪除舊別名db2 drop alias DB2ADMIN.TEMPL重建別名db2 create alias JLU.TEMPL for JLU.EMPLOYEE假設(shè)源表是 EMPLOYEE代碼中所有TEMPL統(tǒng)一改為JLU.TEMPL。4.2 現(xiàn)象labupdate.java 執(zhí)行 update 后DB2 命令行查不到變化原因setAutoCommit(false)后未調(diào)用conn.commit()事務(wù)處于掛起狀態(tài)。conn.close()會自動 rollback導(dǎo)致所有修改丟失。這是事務(wù)機制的基本約束不是 Bug。解決在executeUpdate()后、closeQuietly()前必須插入conn.commit()更穩(wěn)妥的做法是用try-catch-finallytry { pstmt.executeUpdate(); conn.commit(); // 成功則提交 } catch (SQLException e) { conn.rollback(); // 失敗則回滾 throw e; }4.3 現(xiàn)象JOptionPane 輸入數(shù)字后程序崩潰報 NumberFormatException原因JOptionPane.showInputDialog()返回String可能含空格或空字符串直接Integer.parseInt(input)會炸。而SQLException捕獲器只管數(shù)據(jù)庫異常管不了這個。解決所有輸入解析前加三重防護String input JOptionPane.showInputDialog(輸入ID); if (input null || input.trim().isEmpty()) { JOptionPane.showMessageDialog(null, 輸入不能為空); return; } try { int id Integer.parseInt(input.trim()); // trim() 去空格 } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, 請輸入有效整數(shù)); return; }4.4 現(xiàn)象多行插入時部分行成功、部分行失敗但程序不報錯原因executeBatch()返回int[]其中-3表示該條語句失敗但若不檢查返回值就認為全部成功。DB2 批處理默認是“繼續(xù)執(zhí)行模式”一條失敗不影響后續(xù)。解決必須遍歷executeBatch()返回數(shù)組int[] results pstmt.executeBatch(); for (int i 0; i results.length; i) { if (results[i] Statement.EXECUTE_FAILED) { JOptionPane.showMessageDialog(null, String.format(第 %d 行插入失敗, i 1)); } }4.5 現(xiàn)象GUI 程序啟動后點擊按鈕無響應(yīng)或彈窗一閃而逝原因Swing 是單線程模型所有 GUI 更新必須在 Event Dispatch ThreadEDT中執(zhí)行。若數(shù)據(jù)庫操作耗時 IO寫在ActionListener的actionPerformed中會阻塞 EDT導(dǎo)致界面凍結(jié)。解決用SwingWorker將耗時操作移出 EDTnew SwingWorkerVoid, Void() { Override protected Void doInBackground() throws Exception { doInsertSingle(); // 耗時的 JDBC 操作 return null; } Override protected void done() { // 回到 EDT可安全更新 GUI JOptionPane.showMessageDialog(null, 完成); } }.execute();5. 驗收與答辯用三張表、兩個技巧、一次全流程演示拿下滿分答辯不是講原理是證明“我的程序能跑、能改、能抗壓”。我?guī)н^的某圖像處理 Demo 項目A 同學(xué)準備了 20 頁 PPT 講 JDBC 架構(gòu)結(jié)果評委只問了 3 個問題“你改過表結(jié)構(gòu)嗎”“空值顯示對了嗎”“輸錯密碼會彈什么”——他全答錯了。從此我定下鐵律答辯驗收只看三張表、兩個技巧、一次全流程演示。下面逐項拆解。5.1 驗收三張表覆蓋所有任務(wù)的硬性輸出物清單這三張表不是讓你打印出來交而是作為你本地驗證的 checklist。每張表對應(yīng)一類驗收維度缺一不可。表名用途檢查方式達標標準功能覆蓋表驗證 8 個任務(wù)是否全部實現(xiàn)運行每個任務(wù)對應(yīng)類截圖保存每個任務(wù)至少 1 張成功運行截圖含 GUI 界面和彈窗內(nèi)容如“插入成功影響 1 行”異常覆蓋表驗證任務(wù) 7 的異常分級是否完備對每個任務(wù)主動觸發(fā) 1 種錯誤- 任務(wù) 5輸重復(fù) ID約束- 任務(wù) 5輸字母 ID類型- 任務(wù) 3輸 20 導(dǎo)致溢出- 任務(wù) 5輸非法 SQL 符號如;每種錯誤必須彈出對應(yīng) JOptionPane標題、圖標、文案與 3.4 節(jié)handleSQLError定義完全一致數(shù)據(jù)一致性表驗證數(shù)據(jù)庫真實狀態(tài)是否同步用 DB2 命令行執(zhí)行db2 connect to sample→db2 select * from JLU.TEMPLGUI 插入/更新后的數(shù)據(jù)必須與 DB2 命令行查詢結(jié)果逐字節(jié)一致包括空值顯示為“空”提示很多同學(xué)截圖只截 GUI不截 DB2 命令行驗證結(jié)果。評委只要求看一張圖“你點確認后庫里真有這條數(shù)據(jù)嗎”——所以每張功能截圖旁必須附一張 DB2 查詢截圖二者 ID/NAME/SALARY 完全對應(yīng)。5.2 答辯兩個技巧用“對比演示”和“故意出錯”掌控節(jié)奏評委最怕聽空話最喜歡看對比。兩個技巧直擊要害技巧一對比演示——同一操作展示“改前 vs 改后”不要說“我實現(xiàn)了空值顯示”而是第一步在 DB2 中手動插入一行INSERT INTO JLU.TEMPL VALUES (999, NULL, TEST, NULL)第二步運行你的查詢功能截圖彈窗——顯示999 空 TEST 空第三步用原始 labstaff.java未改空值邏輯運行同樣查詢截圖彈窗——顯示999 null TEST null結(jié)論“看這就是我做的空值歸一化不是改顯示是改邏輯?!奔记啥室獬鲥e——主動暴露一個低風(fēng)險錯誤再優(yōu)雅修復(fù)在演示任務(wù) 5 多行插入時故意輸錯一行輸入101,張三,IT,8000.00\n102,李四,HR,abc\n103,王五,FIN,9000.00點擊執(zhí)行彈出“數(shù)據(jù)格式錯誤請輸入有效數(shù)字”然后說“這里我做了輸入預(yù)校驗避免無效數(shù)據(jù)進入批處理隊列防止整批失敗?!痹佥斦_數(shù)據(jù)成功。這比“我寫了完美代碼”可信十倍——你展示了防御性編程思維。5.3 全流程演示腳本5 分鐘內(nèi)完成從啟動到故障恢復(fù)的閉環(huán)答辯時間通常只有 5–8 分鐘必須設(shè)計一條黃金路徑。我給某高校學(xué)生定制的腳本如下實測 4 分 30 秒時間操作目的話術(shù)要點0:00–0:45啟動主程序 → 點擊“查詢 Staff” → 截圖彈窗顯示 5 行數(shù)據(jù)含“空”值證明基礎(chǔ) SELECT 空值處理 OK“這是 JLU.STAFF 表您可以看到姓名為 NULL 的行顯示為‘空’符合任務(wù) 6 要求?!?:45–1:50點擊“插入 TEMPL” → 選“單行” → 輸1000,陳六,DEV,12000.00→ 彈窗“插入成功” → 立即點“查詢 TEMPL” → 截圖顯示新增行證明 INSERT 實時查詢閉環(huán)“插入后我立刻查詢新增的 1000 號員工已在結(jié)果中且薪資顯示為 12000.00精度無損。”1:50–3:00點擊“字段編輯” → 找到 ID1000 行 → 改 SALARY 為15000.00→ 點“保存” → 彈窗“更新成功” → 再查 TEMPL確認變?yōu)?15000.00證明任務(wù) 8 字段級編輯“這是任意列編輯我只改了薪資其他字段不變且實時落庫。”3:00–4:15點擊“多行插入” → 輸1001,趙七,QA,11000.00\n1002,孫八,PM,13000.00→ 成功 → 再輸1001,周九,UX,14000.00重復(fù) ID→ 彈出“主鍵重復(fù)”錯誤證明異常分級任務(wù) 7“看重復(fù) ID 觸發(fā)約束錯誤用紅色 ERROR 圖標提示和類型錯誤的黃色 WARNING 嚴格區(qū)分?!?:15–4:30關(guān)閉程序 → 打開 DB2 命令行 →db2 connect to sample→db2 select * from JLU.TEMPL where ID999→ 截圖顯示三條記錄終極數(shù)據(jù)一致性驗證“所有操作都真實寫入數(shù)據(jù)庫不是內(nèi)存模擬。這是 DB2 原生命令行結(jié)果和 GUI 完全一致?!睆哪且院笪颐看螏W(xué)生答辯都強制走一遍這個腳本不講架構(gòu)圖不背概念就用這 5 分鐘把評委眼睛釘在你的屏幕上讓他親眼看到“能跑、能改、能抗壓”。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
啊啊啊啊啊好大好舒服想要| 天天享受天天看| 超踫中文字幕| 男人 天堂 日 亚洲| 熟女熟妇一区二区三区视频| 久久久亚洲精品中文字幕人妻| 国产熟女精品一区二区| 亚洲国产精品有声| 综合日本女人伊人| 亚洲激情欧美色图 | 最新精品久久蜜桃| 玖玖久久久| 影音先锋每日最新资源在线观看| 久久久免费的精品| 美女人妻色网站| 91黑丝美女| 夜夜高潮夜夜爽国产伦精品| 精品国产Av无码久久久亚洲| 麻豆天天躁天天揉揉AV| 熟女精品va中文字幕| 曰韩精品九九无码| 亚欧美色图| 性久久久| 久久久99久9| 亚洲欧美日韩中文久久自慰| 亚洲欧美日韩偷拍色图| 亚洲人妻av| 99最新日韩偷拍视频| 亚洲欧美日韩免费观看| 亚洲精品日韩国产欧美| 中文字幕女同在线| 伊人专区一区二区三区| 色色热| 久久久女人| 日韩AV无码中文一区二区| 国产大片精久久久久久| 国模无码人体一区二区三| 亚洲激情网一二三四区| 色香伊人| 手机在线中文字幕国产| 日欧美色| 欧美性爱超碰97| 欧美亚洲天堂| 好淫网一二三视区| 天天舔日美女视频| 色香色欲天天综合网天天来吧| 美女淫穴| 国产精品福利资源在线尤物| www.狠狠干.coom| 欧美天天影院| 欧美午夜视频精品久久| 老司机免费视频在线91| 亚洲成?V人片在线观看福利| 综合性视频99| 色婷婷香蕉| 1240青青草一区二区三区视频天爱| 99精品网| 精品免费视频国产一区| 射 色综合| 97亚洲精品| 国产黄a三级三级三级av在线看| 欧美激情精品久久久久久| 综合欧美日本三级| 日比av无码| 欧美.亚洲.另类.丝袜.制服.诱惑| 啊啊啊啊网站| 国产精品粉嫩福利在线| 国产精品久久久久无码AV会牛| 狠狠操狠狠燥| 一区二区日韩欧美久久| 国产v片在线免费观看| 久久中出在线| 日韩人妻少妇 一区二区三区| 欧美性天天| se,,,亚洲欧美| 亚洲国产成人高清在线| 亚洲男人天堂av| 欧美精品四区| 欧美一区二区亚洲天堂| 熟女乱伦A| 天天综合中文字幕 91| 嗯嗯,好大,好爽,好骚| 屌色在线97视频| 久久久久亚洲AV无码专区少妇| 亚州九九九精品视频| 一区二区你上我| 亚欧无码在线| 又粗又长又爽在线观看| 国产sv美女内射| 久久精品电影| 欧美国产一区二区三区麻豆传媒| 偷看洗澡一二三区美女| 日韩性爱毛片操骚逼| 香蕉99秘 一区精品蜜桃臀| 色香91| 白丝少妇一区二区| 狠狠色色| 一级黄色性爱A级片| 黄色免费网| 欧美激情高清性猛交| 麻豆a'v电影| 五月婷婷hd| 最新欧洲欧美日本激情网站| 国产 亚洲 丝袜 制服| 欧美乱欲| 91熟女视频| 精品久久久久综合无码| 亚洲欧美校园| 夜夜嗨一区| 97日韩欧美亚洲| 精品久久久不卡一区二区| 亚欧美天堂在线| 日本三级日本三级三级人妇四虎| 激情五月天色色| 欧美麻豆成人同性GⅤ在线| 国产强奸乱伦xd| 岛国视频一二三区| 日韩欧美成人性爱在线| AVE乱伦| 96精品久久久久久久久久| 精品一区二区三区丰满熟女-亚洲欧美一区| 欧美日韩久久精品爱爱| 国产精品福利资源在线尤物| 九九色精品| 黄片免费看的| 欧美78| 国产原创剧情在线丝袜 | 国产亚洲色婷婷久久99精品91葵花宝典| 青青操网| 中文字幕一区二区韩| 可能人人看人人摸| 91精品久久久久久77777| 精品亚洲国产成人AV制服丝袜| 国产粉嫩出水在线播放| 懂色AV一区二区三区| 欧美精品第3页| 有码免费观看| 日日夜夜青青草母狗| 天堂资源站| 强乱老妇中文字幕| 国产亚洲精品激情| 成人婷婷丁香| 日韩资源网| 玖玖资源视频一区二区三区| 国产99999| 视频一区二区免费在线| 天天干天天狼在线视频| 亚洲色鬼| 国产偷人妻精品一区二区在线| 欧美精品欧美精品系列| 国产精品分类在线观看| www超碰| 伊人久久久日韩一区| 国产精品69久久久久孕妇欧美| 国产精品人妻无码久久久老鸭窝| 天天躁日日躁xxxxx| 91天美传媒精品| 99re99在线视频| 精品丝袜无码一区二区三APP| 粉嫩av在线一区二区| 一本一道人妻久久一区二区三区| 99 国产丝袜在线| 色综合一本| 国产精选三级在线观看| av婷婷色网| 欧美热图99| 国产成人午夜视频网址| 7月婷婷综合| 中文无线日韩一区| 中文字幕精品一区二| 一级黄色影片| 97 国产精品| 日韩乱中文| 在线啊啊啊啊| 91网站18| 色爽爽文学| 国产美女自拍视频| 五月香婷婷| 欧美 日韩 婷婷 五月| 国产9区| 日本3级一区二区免费| 国产精品久久久久久久久久久久久久久久 | 欧美 日韩 另类 亚洲| 欧美日韩大香蕉| 亚洲日本男人天堂网| 天天综合网日韩| 欧美制服另类丝袜| 色激情综合网站| 久久久精品国产亚洲伊人| 久久99草| 自拍大香蕉乱插| 久草草一二三四区久久| 中文字幕一区二区韩| 亚洲色图伊人网| 一级毛片久久久久久久女人18| 一道本东京热加勒比一区二区三区| 久久久无码精品人妻二区 | 精品二区三四区五电影| 99操逼| 国产97色在线 | 亚洲| 大香樵伊人网| 欧美黑人熟妇精品91| 欧美一区91大爱| 极品综合| 91综合天天看| 综合网亚| 国产多人在线观看视频| 日韩 欧美 校园一区| 手机午夜电影神马久久| 东京热熟女亚洲视频网站| 欧美三级偷拍| 青娱乐 成人娱乐在线| 18啪啪手机免费性爱| 欧美性爱网97| 五月婷婷久久综合| 国产精品经典一卡久久久 | 果冻传媒A片麻豆熟妇人妻| 99久久免费看精品国产一区| 久久久久久亚洲精品中文字幕人妻| 草草草视频在线免费看| 啊嗯嗯啊好大好爽| 狼人综合婷婷激情四射| 黄色高清无码无码破解免费暗网| 日本成a人v网站在线观看| av线电影| 97色论| 日韩成人电影AV| 欧美aa一级片| 热99这里有精品综合久久 | 91亚洲电影| 蜜桃视频一区二区三区| 操人妻少妇中文 | 啊啊啊不要啊啊受不了了视频在线 | 免費黃色視頻觀看一| 国产精品人妻无码久久久老鸭窝| 精品国产乱码久久久兰草影视| wwwcaobibi| 日韩三A大片在线观看| 亚洲图片91| 日日噜噜夜夜久久亚洲一区二区| 亚洲天堂久久| 极品美女福利在线观看| 最新日本中文字幕| 凹凸精品熟女在线观看| 男人的天堂久久| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 日操粉逼逼| 欧美18老人禁| 97综合在线| 啊啊啊啊好大好硬啊啊啊啊啊| 男人的天堂不卡一区二区| 五月天玖玖资源站| 亚洲无码免费看| 久操com| 曰韩人妻中文字幕在线| 国产精品一区二区三区免费视频| 欧美最大综合网| 夜夜骑操视频| 新怡红院| 蜜桃臀av一区二区| 97超碰超| 日韩欧美久久婷婷网站| 亚洲第一页综合在线| 五月天欧美色图| 职场同事知名国产国产精品久久欧美日韩 | 日韩91网站| 亚洲男人bt天堂| 丁香五月激情综合| 熟女人妻av在线资源,黄色的资源| 99re在线观看| 青青草手机在线免费观看| 男人把坤坤插入女人的下体| 另类老少妇| 屁股久久久久久| 色臀av| 国产精品区在线12p| 一区二区三区四区免费视频| 中文字幕 国产 精品 | 91逼逼女人91| 国产精品一级二级在线| 91国产丝袜白虎| 欧美色青| 欧美系列在线一区二区| 99精品网| 人妻内射一区二区在线视频| 十八禁电影伊人网| 无码人妻精品一区二区三区99不卡| 午夜一区二区三区国产| 欧美性爱另类综合| 天天日天天舔东京热| 伊人欧美大香蕉视频| 天天射天天操天天干天天吃2018 | 亚洲天堂少妇| 国产美女高潮视频| 亚洲av噜噜噜噜噜噜| 懂色天天爱天天日天天射天天澡| 2020中文在线一区二区三区| 91亚洲人| 懂色AV一区二区三区| 国产丝袜视频| 欧美日韩青操| 欧美性生活男人的天堂| 亚洲av乱伦色图网站| 啊啊啊啊啊操我视频| 午夜精品久久久久久久| 中文字幕后石码三区四区| 26uuu国产免费观看| 淫乱图区| 国产精品麻豆免费视频| av在线人气| 麻豆天美91| h在线看免费版在线看| 欧美激情一| 强歼乱伦资源网| 伊人991| A级国产欧美激情在线| 久久婷婷国产一区二区色| 91色伦| 风流老熟女一区二区三区l| 欧美熟女妇同| 26uuu国产成人综合| 中文字幕亚洲欧美在线不卡| 99999亚洲| 欧美有码激情视频一区二区三区| 日韩色香| 磁力99AV| 国产传媒操逼视频| 国产亚洲欧洲在线观看| 2019精品国产无码成人| 91国产大片| 国产精品久久久久无码Av网曝门 | 99re在线视频国产| 久久久久久国产无码精品| 97视频在线免费播放| 免费在线黄片视频| 亚洲一区二区中文字幕| 激情五月天色播| 91丨人妻丨国产丨丝袜| 午夜后入| 丁香五月综合| 强乱老妇中文字幕| 91色鬼| 人妻乱仑一区二区三区| 国产精品乱码久久久久久| 97色婷婷| 呦呦影院| 成人一级二级| 色婷婷综合网站| 人妻少妇久久中文字幕一区二区 麻豆 | 91热热色| 殴美性色a级欧美| 久久这里只精品免费福利| 歐美性天天| 色区久久| 熟女乱伦A| 亚洲第一男人天堂| 亚洲情色在线| 成人婷婷丁香| 377p欧洲日本亚洲大胆| 青青青青青手机视频| 中美日韩毛片| 91呆哥人妻| 日韩簧片免费看| 激情另类激情| 在线情色电影 91大| 亚洲情色1区| 亚洲 欧美 手机在线观看| 91激情| 丰满人妻一区| 中文字幕一区二区日韩网| 久久 精品| 91美女高潮| 亚洲美女30b| 极品少妇99| 天天综合网国产| 五月婷视频| 中文字幕精品一区二区精| 久久久9999| 校园春色美腿丝袜 | 日本日日色视频| 天天操狠狠日夜夜干超碰撸com视频在线观看 | 日日嗷| 青青草视频导航官网| 懂色综合久久久| 日韩久久激情精品| 69精品久久久久中文字幕| 国产一区自拍欧美日韩| 韩国一级婬片A片无码天美| 国产宅男宅女在线观看| 欧日a| 夜夜爽妓女| 五月激情小说| 制服中出中文人人精品| 欧美亚洲第一页| 热99这里有精品综合久久 | 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 国产久久成人| 国产黄色影片在线观看| 这里只有精品视频在线观看麻豆| 婷婷色色五月天福利| 天天躁日日躁AAAAXXXX国产| 国产高清成人mv在线观看| 欧美黄色片在线播放| 看一级特黄a大一片| 91 亚洲 欧美 日韩 国产 综合| 国产女乱淫真高清免费视频| 簧片免费看视频| 麻豆精品久久久久久久| 青青操在线亚洲视频观看欧美在线 | 综合第一页| 色吧5亚洲| 欧美操人视频| 91精品伊人久久久大香线蕉91| h无码动漫在线观看| 日本韩欧美在线播放a| 天天日夜夜| 国产传媒1234区| 美女骚尻视频| 欧美精品庄| 一本久道在线综合视频| 麻豆久久视频在线地址| 天美传媒在线一区| 一区二区三| 精品国产一区二区三区香蕉欧美| 日韩乱伦视频| 91天美传媒精品| 99热在线只有精品| 九九视频黄色片| 九九黄色网| 区一二区日韩亚洲乱码av电影| 玖玖爱伊人玖玖爱| 中国小夫妻勾搭露脸淫荡对白| 亚洲双插| 高跟丝袜AV专区国产| ,国产乱人伦精品一区二区三区| 嫩草 我啊~嗯~在线| 一个人免费视频观看在线WWW | 啪啪啪东京| 精品区9| 人妻熟女一区二区| 手机看片91人妻| 色五月婷婷五月天| 日本一二三免费久久| 永久免费av无码网站国产app| 中文字幕精品一区二区精品| 国产精品久久久久久久久久久久久久久久 | 男人的天堂一区三区| 综合激情97 | 青青草玖玖爱| 国产日韩欧美亚洲精品95| 综合网久久| 思思热一热婷婷热一热| 免费看黄视频亚洲网站| 国产夫妻一区二区| 大香蕉伊人网| 精品大久久| 亚洲一区二区AV| 丁香婷婷久久 | 歐美一級亂黃99在綫精品| 欧美Ⅴ性爱| 色妺妺在线视频| 性色综合网| 97干com| 丰满人妻一区二区三区免费| 色999人与兽| 欧美精品三级黄片| 九九九久千久久激情蜜桃在线看 | 亚洲97综| 久久亚洲影院一区二区| 欧美视频一| 91亚州欧美| 强奸乱伦亚洲第一页| 熟女熟妇伦久久影院毛片一区二区 | 91亚·色| 人人操人人摸人人骑| 伊人991| 黄色片一区二区三区四区五区| 另类视频在线| 精品国产乱码久久久久久口爆网站| 老鸭窝日丰县女人| 中文字幕 一区二区 亚洲无码| 欧州一区二区三区四区| 夜夜免费视频| 欧美偷拍| 国产家庭乱伦性爱视频| 久久草草欧美精品| 在线观看十八禁| 亚洲日韩97| 岛国黄色大片网站| www国产无码| 人、人、摸,人、人、草| 五月婷婷无码| 亚洲精品骚逼| 啊啊啊不要啊啊受不了了视频在线 | 国内亚洲高清无码| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 黄片www视频免费| 91 偷| 亚洲色悠悠久久88| 成人无码在线超碰网| 国精综合一二三区影视| 2017人人操,人人摸| 四虎在线播放| 激情综合久久| 9色国产精品一区粉嫩| 亚洲日韩青青草色月| 成人性爱视频在线看| 吊色| 很狠操| 99最新日韩偷拍视频| 亚洲综合射| 人人干人人操人人..com| 国产精品乱码久久久久久久久| 啊啊啊啊嗯嗯嗯用力好爽 | 国产探花精品在线| 四虎影视永久在线观看精品免费网站| 日本网色| 免费av在线播放二区| 欧美综合自拍亚洲综合图| 男人兔费天堂| 亚洲精品尤物yw在线影院| 99精品无码| 精品然女一区二区| 一起草AV| 亚洲天堂一区二区久久| juliaann欧美丝袜办公室| 激情综合av| 亚洲另类综合欧美| 免费啪啪啪网站18岁| 欧美日韩国产成人高清| 亚洲色图欧美色18直播在线| 丁香五月天久久精品视频一区二区三区| 色婷婷五月综合激情中文字幕| 26uuu最新| 精品日韩| 72av视频| 综合网亚洲在线| 91午夜无码| 国产午夜激片Av毛片不卡| 99色婷婷中文字幕乱色| 999精品国产高清一区二区| 欧美亚男人的天堂| 热99这里有精品综合久久 | 日本三级久| 国产成人亚洲精品自产在线| 美欧老女人97| 欧美综合色图片| 久久综合国产精品国产| 天天干天天燥| 无遮挡男女激烈动态图| 温婉少妇玩3p| 久久一二三四不卡 | 日本大片日本一区二区免费高清 | 天天躁日日躁成人字幕aⅴ| 97在线播放 | GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 骚日日av| 黑人性欧美| 国产精品懂色tv影视免费观看| 日韩一区二区精彩视频| aaaa黄片| 欧美 综合| 欧美线天码中字| 人妻铁牛TV| 无码逼| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 色噜噜人妻av 中文字幕| 天天干天天日天天射黄色片| 亚洲视频精选| 芊芊操逼视频无码| 91爱综合| 久久老熟女| 韩国黄片aaaa| 狠狠搞 亚洲91| 99少妇| 人妻日日干| 国产精品午夜成人福利| 亚洲本色精品一区二区久久| 日韩乱伦视频| 99抽插| 国产农村妇女精品| wwwss在线观看| AV男人天堂网| 中文字幕一区二区韩| 欧美熟女激情| 久久久四区| 女人高潮抽搐喷水视频网站| 老熟女熟妇| 探花精品 一区二区| 99精品久久| 亚州色图欧美色图| 国产乱伦一二三区| 久久久亚洲熟妇资源| 日本熟妇人妻中出视频| 亚州日韩97| 欧美一级久久久久久久大片动画| 69人妻精品丰满熟女区| 超碰成人人人爽人人爽| 亚洲青青青视频在线| 一区二区三区国产在线播放| 欧美最婬乱婬爆婬性视频 | 九热大香蕉| www.色吧5.com| 国产精品亚洲四五区在线观看| 成人av毛片在线观看| 夜夜嗷嗷一区二区| 秋霞操逼片| 啊啊啊啊啊在线视频| 性色av蜜臀av色欲aV| 久久久精品一区二区| 国产99久久99热这里只有精品15 | 色综合天天| 操一对老熟妇爽上天视频| 欧美精品第3页| 人人人干干人人干| 综合网欧| 欧美日韩 强奸乱伦| 新怡红院| 狼人综合婷婷激情四射| 国产毛片在线| 另类小说欧美激情校园春色| 97超碰美国| 日本黄色大片一级视频免费麻豆| 欧美丝袜亚洲| 嗯啊啊啊轻点视频 | 久久美女福利是上海美女| 色欲久久99国产精品久久久久久| 日日日啊啊啊| 九九热AV| 6080YYY午夜理论片在线观看| 玖玖爱伊人玖玖爱| 老熟女区| 日本3级一区二区免费 | 一级做a爰片性色毛片久久| 丰满搜索结果 -第18页- 久久高清无码| 中文字幕一区电影在线观看 | 试看60秒 爽| 91男同| 99青草| 九九伊人网| 久久男人精品| 91肉丝| 骚货 中文字幕 av| 午夜天堂精品久久| 999狠狠综合| 国产小黄片在线免费观看| 日韩在线地址一| 97爱综合| 蜜臀AV一区二区三区| 操淫穴亚洲五月丁香| 久久9久9久99久9久9| 久青草影院| 女人爽到高潮潮喷18禁网站| 91快色色色色色| 欧美不卡在线一区二区| 不卡av免费在线网址| 国内偷拍精品一区二区| 夜草欧美| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 国产AV中文| 亚洲国产另类在线中文| 国产这里只有精品| 亚欧日韩成人| 一区二区三区视频国产免费| 澳门黄片一香蕉视频| 亚洲欧美不卡线| 清纯唯美亚洲综合| 久久精品国产亚洲5555| 伊人网免费视频| 操人人| 操啊国产| 性爱乱伦视频免费| 巨爆乳一区二区爆乳区| 园内精品自拍视频在线播放| 高清无码 国产精品| av网页一区二区三区| 特级丰满少妇一级AAAA爱毛片| 亚洲国产欧美另类自拍| 日本一区二区不卡精品| 伊人五月天| 日韩紧密久久| 伊人午夜福利视频| 欧美成人精品欧美一级乱黄一区二…| 久久婷婷电影网| 久久精品中文字幕观看| 夜夜草网站| 欧美日韩夜夜| 91 国产丝袜在线播放-百度| 日本精品一区二区三| 男人的天堂com| 看免费一级在线播放毛片| 色就色综合| 人人色人人操在线| 久久久久亚洲一区女同性恋中文字幕| 我想要啊 啊 啊| 日韩av在线精品观看| 隔壁邻居波多野结衣中文字幕 | 婷婷色网| 色婷婷在线视频精品导航| 91美女国产在线| 性色AV蜜色av色欲av| 久久久精品视频免费观看| 大鸡吧尹人在线| 91热| 亚洲欧美日韩免费电影| 黑丝少妇| 天美麻豆黄色录像| J?P?NESEHD熟女熟妇伦| 日本操BAV| 麻豆一区二区三区精品| 无码一区免费在线不卡| 香蕉久久国产AV一区二区| 日韩人妻精品| 亚洲国产精品成人综合| 日韩人妻资源在线看| 天天摸夜夜操视频| 国产乱伦视频污| 色情婷婷| 日韩精品亚洲一二三| 国产精品婬乱一级毛片彝族| 91嫩草欧美| 亚欧色图在线激情| 女同亚洲欧美一二三区久久电影| 99精品无码| 亚洲国产高清福利视频| 97欧美久久久久久久| 九月激情婷婷| 久久久国产精品亚洲精品| 日本精品一级二级三级| 欧美亚洲玖玖玖| 蜜臀久久99精品久久久久久| 国产超碰| 久99在线免费观看视频| 精品色色| 欧美精品成人一区二区在线观看| 在线啊啊啊啊| 立川理惠被中出无码| 九X超碰| 17c在线成人免费A片观看| 伊人一区二区三区| 思思热免费在线视频| 老女人老91妇女老热女| 国产美女mm131爽爽爽爽| 9.1小视频| 中文字幕成人| 1000部熟女视频在线观看| 超碰精品| 狠狠色狠狠色狠狠五月| 欧美高清在线| 大香蕉久操| 91视频综合网| 亚洲综合113页| 中文字幕久热视频在线| 3P丝袜熟女 色综合| 中文字幕一区av| 日本人妻丰满熟妇久久久久久| 诱惑人妻欧美一区在线播放| 久操凹凸视频| 色噜噜人妻av中文字幕| 熟女人妻av在线资源,黄色的资源| 日产操逼| 啊啊啊啊啊舒服| 99热最新| 日韩免费看在线黄色片| 天天爱天天操| 狠综合网| 超碰人人妻| 草草网站影院白丝内射| 91综合无码| 亚州春色| 99在线免费视频| 天天日天天搞天天干| 啊啊啊啊好疼| 欧日韩在线观看| 人妻少妇精品一区二区三区| 美国aaaaa一级黄片| 热热色91| 综合性视频99| 另类av天堂| 婷婷色色五月天| www.91理论| 在线免费观看高清无码视频| 941超碰| 久久综合精品一区二区三区| 天天肏夜夜肏| 在线看免费无码AV天堂的| 在线日韩精品一区二区三区| 91蜜桃传媒精品久久久一区二区| 亚洲欧美日韩国产丝袜自拍中文| 日本天堂网| 久都青青视频 | 97精品视频网站| 久久精品免费| 麻豆国产av网| 九九玖玖精品| 丝袜内射| 国产亚洲 中文欧美久久| 色情五月丁香| 日韩一级欧美一级在线观看| 国产精品无码久久久久2025| 欧美第一页| 国产精品久久久久久久久久久久久久| 色网综合网| 亚洲综合 欧美| 伊人欧美大香蕉视频| 色欲久久99精品久久| 久久精品一区二区三区不卡| 97久久超碰| 天天爽夜夜欢视| 欧美图片偷拍| 久久极品一区二区| 超碰人人乐97| 久久性爱视频99| 中文字幕55555| 久久久久久久一级黄色打同平台| 亚洲偷拍自拍在线视频| 久久一级无码精品毛片6| 国产情侣自拍在线播放| 欧美日韩91| 日韩AV中文字幕电影| 日本99一区二区| 伊人四虎综合| 国产激情在线| 中文一区二区三区影院| 国产狂喷潮在线精品| 色综合天天| 日韩免费性爱视频在线观看| caorenqi shipin| 黑人中出21连凳花野真衣| 青女在线| 欧美日韩亚洲天堂| 亚洲av国产av综合av卡| 成人免费在线网站| 95精品在线| av线电影| 国产精品人妻无码久久久老鸭窝 | 无套后入双马尾| 岛国爱情动作片在国产AV无码专区亚洲AV漫画 | 九九久久国产精品| 超碰色大香蕉| 国产精品露脸在线观看| 国产精品视频白浆免费| 日韩AV电影网站| 亚洲AV人人澡人人爱| 久久久96| 91成人在线免费视频| 九九成人精品| 黑人在线91| 超碰成人公开| 丝袜内射| 91欧美网| 激情五月天视频| 无码人妻精品一区二区三区九九| 国产一级内射高清视频| 开心五月婷婷激情| 日韩欧美天天爽爽爽天天爽爽| 永久免费观看的毛片的网站| 中文字幕五区| 伊人国产AV| 加勒比在线视频一区二区三区| 国产欧美一区二区| 成人久久久| 色噜噜狠狠色综合日日| 97超碰国产亚洲精品| 久久久久久日韩| 欧美日韩一干二干| 国产91会所女技师在线观看| 一区二区三区在线资源| 人妻熟女一区二区三区视频| 一区二区三区精品久久| 色女免费在线观看视频网址| 美女午夜福利免费视频| 日韩无码久久熟女一级片| 国产二区视频在线观看电影| 97久久久精品| 2019天天干天天操| 色九九综合AV| 日韩乱伦影音先锋| 91超碰丝袜制服| 色狠狠色| 97免费在线观看| 欧美日日夜夜| 一级婬片120分钟试看| 人妻人人澡人人爽人人| 亚洲阿v天堂无码z2018| 日日夜夜草草草| 操我无码| 麻豆一区二区三区在线看 | 99精品丰满人妻无码| 国产91久久九九免费精品无码| 欧美肥臀在线| 国语人妻精彩刺激| 国产成人亚洲精品无| 久久视网78| 性色高清..……| 中文字幕一区 二区三四五 区日 日骚 | 欧美精品91| 国产三级多多影院2022国产AA一级毛片无码| 美女黄码视频午夜| 久久9视频| 人妻一区二区三区四区视频| 亚洲性猛交| 九九久久综合| 亚洲另类小说卡通动漫| 欧美黑人168页欧美黑人167| 青青草九九九九九| 人人妻人人狠人人| 一级一性爱免费视频| 久久视频,这里只有精品| 人人操AV| 激情小说成人日本无码一| 亚洲在线| av橘色网站| 97精品97| 91n美女视频| 久/久精品99看9| 国产极品99热在线播放69| 亚洲国产美女久久久久| 加勒比无码毛片| 亚爽爽爽爽爽爽爽爽| 天天操天天射青青草| 欧美特大黄一级片片免费| 国产精品久久久久久高清无码免费看 | 国产精品爱欲| 中文字幕99999| 少妇淫妇久久久久久久| 日韩欧美蜜桃精品久久中文字幕久久| 天天日日日射| 伊人影院在线理论播放 | 欧美色欧美| 国产麻豆91欧美一区二区久久婷婷国产精品 | dy888午夜老子影视达达兔| 青青草在线视频美女| 性爱网站一区二区| 情色五月天网| 国产一区二区精品久久99| 亚洲九九视频在线观看| AA丁香综合激情| 国产粉嫩蜜臀av一区二区三区| 亚洲日韩欧美一区二区| 97色色婷婷| 综合伊人激情| 特污精品女优骚货黄色视频在线免费观看| 久久久久久久久久久97| 久久久免费一级黄片| 亚洲一区二区三区在线激情| 日日AAvv| 超碰碰激情97+久| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 夜夜肏2021| 亚洲 欧美 手机在线观看| 凹凸视频在线一区二区| 美女91网址 | 欧美一区二区三区四区综合| 亚洲欧洲综合| 亚洲成人在线资源| 91美女看B| 色婷婷综合久久中文字幕雪峰| 天天流夜夜操| 五月婷婷六月激情| 色婷婷网| 久久久18| 91丨九色丨大屁股| 人人操人人大香蕉| 噜噜噜在线视频| 欧洲欧美视频一区二区| 不卡av免费在线网址| 亚洲综合欧美| 色综合加勒比| 久久久新亚洲AV| 狠狠色伊人亚洲综合网站色| 国产偷人伦激情在线观看| 婷婷色综合欧美日韩| 日本在线观看网址| 欧美一区二区一级岛国大片| 黑人精品一区二区在线播放| 国产精品ⅴ无码大片在线看.| 亚洲成人黄色在线观看| 人妻一区二区三区四区视频| 啊啊啊在线观看| 久久精品一区二区一8| 超碰在线人妻中文字幕| 亚洲97久久精品亚洲| 中文字幕 国产 精品| 97精品一二区| 日韩欧美水蜜桃人妻| 欧美色91| 9久久久久| 老熟女乱伦一区| 免费a在线播放v| 国产黄a三级三级三级av在线看| 中文字日本乱码| 欧美第一页| 91欧美在线| 中文字幕一区二区三区四区在线视频| 国产精品极品美女视频| 九九九九九九九精品视频| 96AV久久久| 亚洲人妻久久久| 久久久精品中文字幕爱豆| 久久精品国产亚洲AV成人直播| 夜夜肏2021| 国产精彩女在线观看视频| 97综合久久| 天天日天天干天天整| 亚洲av总站| 日韩精品三级| 国产欧美精选激情视频| 混色激情av| 欧美图片色五月天| 亚一综合久久久久久久久久| 曰韩精品九九无码| 国产热av| 亚洲系列第一页| 大吊色| 天天做天天爱| 96久久精品一二三区色欲| 亚洲人在线| 97超碰欧美中文字幕| 亚洲精品精品一区二区| 精品久久九| 高清在线不卡一区二区 视频| 99色视频| 91亚洲网站| 最新国产亚洲精品精品国产亚洲综合| 十八禁黄色成人网站观看| 美女91网| 久久天堂婷婷网| 奶水 人妻 哺乳 在线| 人妻人人操| 中日韩久久久免费看| 日本高清_区二区三区 | 東南亚性呦成人伦理资源在线视频| 精品亚洲国产成人av网站| 欧洲精品一二三在线| 亚洲色图欧美色图日韩色图| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 亚洲av夫妻操穴网| 国产熟妇 码视频户外直播| 97色冈| 午夜a成v人电影| 亚洲日韩XXX| 秋霞一级视频在线观看免费| 九九热只有精品| 中文字幕精品一区二区精品| 日韩精品 视频一区二区| 免费在线观看国内色片网站网址| 欧洲小说色图视频另类| 黄片免费看黄片免费看| 欧美—性—交—色| www四虎| heyZO天然素人无码AⅤ专区| 日产成人久久| 五月婷婷深深爱| 伊人精品久久网站| 亚洲欧美天| 亚洲欧洲美腿丝袜| 久久99午夜精品一区人妻| 丰满人妻-区二区三区免费看| 在线女人91| 老司机射| 欧洲久久一二线| 青操影院| 800zy一区二区| 人人干人人搞人人摸| 国产婷婷综合在线观看| 加勒比性爱成人在线| 亚洲青青青视频在线| 成人av动漫在线观看| 国产福利一区二| 久久大香蕉97| 成人片视频| 久久超碰、| 大香蕉免费中文| 大地资源在线观看中文第二页| 最新日本中文字幕| 五月天AV资源| 免费成人在线熟妇网| 国产精品久久久久绯色| 色九九九九久| 国产精品青草综合久久| 成年女人黄网站| av网站在线观看了| 女色综合| 精品999999| 91久久| 国产老女人久久毛| 91麻豆天美| 欧美激情激情xxxx欧美专区| 91 综合网| 98久久| 清纯唯美亚洲| 亚洲自拍偷拍视频在线 | 国产嫩草精品A88AV| 国产超碰97| 亚洲欧美校园| 欧美色91| 久久中出| 久久久精品电影| 久久精品欧美一区二区三区不卡| 嫩草美女久久| 成人三一级一片aaa| 国产操偷| 五月天婷婷基地| 91neishe| 亚洲欧洲精品成人| 天天干人妻| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 男人天堂资源| 欧美中文字幕日韩在线| 夜间福利片1000无码| 亚洲熟女中文字幕在线| 天堂精品在线| ai欧美亚洲小说| 大香蕉线| 国产欧美精选激情视频| 国产又操| 天天操女人| 欧美国产操逼| 国产精品久久久| 操逼大黄片| 婷婷亚洲天堂| 日本新免费二区三区| 久久久精品九| 女人精品内射国产99| 丝袜熟女一区二区三区| 99热97| 久久久少妇诱惑精品视频| 明星性猛交ⅹxxx乱大交| 国产小视频91| 人人污日韩一区二区| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 伦伦成年午夜免费视频| 精品精品精品| 女人18精品一区二区三区| 91肉片| 久久五月视频| 中文字幕一区二区三区蜜桃视频| 熟妇熟女一区二区三区| 中文字幕av亚洲在线| 亚洲情色图片区| 中文字幕蜜乳av| 久久天堂婷婷网| 强乱老妇中文字幕| 97人人干人人操| 搡老女人老91妇女熟女| 人人玩人人添人人澡免费| 91色爽欧美| 香蕉国产精品麻豆亚洲欧美日韩| 免费精品福利在线观看| 啊啊啊啊啊好舒服视频| 在线观看成人性爱免费小视频| 黄色大片一区二区密桃丝袜| 欧美天堂在线| 亚洲欧洲小说图片视频 | 精品久久久久,69国产成人精| 五月天日日操夜夜操| 爱我干综合| 欧美色图亚洲色| 激情综合网激情五月天|