99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Java圖書管理系統(tǒng)源碼工程化改造指南

Java圖書管理系統(tǒng)源碼工程化改造指南 簡介這是一套面向Java初學(xué)者與課程設(shè)計(jì)實(shí)踐者的圖書管理系統(tǒng)完整源碼適用于高?!禞ava程序設(shè)計(jì)》《軟件工程實(shí)訓(xùn)》等課程的綜合項(xiàng)目開發(fā)與學(xué)習(xí)。系統(tǒng)采用JavaFX構(gòu)建圖形界面Spring Boot整合Druid連接池訪問MySQL數(shù)據(jù)庫涵蓋管理員、圖書管理員、借閱者三類角色權(quán)限支持圖書增刪改查、借閱歸還、用戶管理等核心功能。資源共96個(gè)文件含55個(gè)Java業(yè)務(wù)邏輯與控制器類、17個(gè)FXML界面布局文件、13個(gè)XML配置含pom.xml與Spring配置、1個(gè)SQL建庫腳本及配套圖片、CSS樣式與README說明文檔壓縮包僅653KB結(jié)構(gòu)清晰、模塊解耦度高便于理解MVC分層設(shè)計(jì)與數(shù)據(jù)庫交互流程。已有917人學(xué)習(xí)下載可直接導(dǎo)入IDE運(yùn)行附帶詳細(xì)數(shù)據(jù)庫配置db_zbcbms/3306/root/123456與三組預(yù)置賬號適合快速上手、調(diào)試分析與二次開發(fā)。1. 這不是“寫個(gè)增刪改查就交差”的課程設(shè)計(jì)Java圖書管理系統(tǒng)源碼里藏著工程能力分水嶺你手頭這個(gè)java開發(fā)的課程設(shè)計(jì)圖書管理系統(tǒng)源碼.zip表面看是大二《Java程序設(shè)計(jì)》期末作業(yè)——但真正拉開差距的從來不是能不能跑起來而是能不能在不改一行核心邏輯的前提下把原始代碼從“能運(yùn)行”變成“可維護(hù)、可調(diào)試、可擴(kuò)展”。我?guī)н^三屆Java實(shí)訓(xùn)課90%的學(xué)生解壓后直接雙擊Main.java看到登錄界面彈出來就截圖交作業(yè)剩下10%會(huì)點(diǎn)開BookDaoImpl.java發(fā)現(xiàn)里面硬編碼了MySQL連接字符串、SQL語句全拼在String里、借閱狀態(tài)用數(shù)字0/1/2表示卻 nowhere 注釋……然后默默刪掉重寫。這不是矯情是真實(shí)踩坑后的條件反射課程設(shè)計(jì)源碼的價(jià)值不在功能完整而在暴露真實(shí)開發(fā)斷層——數(shù)據(jù)庫事務(wù)怎么兜底異常堆棧怎么定位到具體行日志為什么不能只打System.out.println這篇筆記不教你“如何復(fù)制粘貼跑通”而是帶你用這包源碼當(dāng)黑匣子逆向拆解出Java Web工程落地的6個(gè)關(guān)鍵切口環(huán)境隔離怎么做、DAO層怎么避免SQL注入、為什么Swing界面比JSP更難調(diào)試、MVC分層在哪斷、JUnit測試怎么寫才不是擺設(shè)、以及——最致命的——畢業(yè)答辯時(shí)老師問“如果并發(fā)借書怎么辦”你怎么答出3種方案而不是背PPT。適合剛寫完第一個(gè)Swing窗體、正為畢設(shè)發(fā)愁的本科生也適合想用真實(shí)教學(xué)項(xiàng)目練手的助教。2. 從解壓到啟動(dòng)還原真實(shí)開發(fā)環(huán)境的最小閉環(huán)拿到j(luò)ava開發(fā)的課程設(shè)計(jì)圖書管理系統(tǒng)源碼.zip后別急著打開IDEA。先做三件事確認(rèn)JDK版本、識別項(xiàng)目結(jié)構(gòu)、驗(yàn)證依賴完整性。這是所有后續(xù)操作的地基跳過等于埋雷。2.1 確認(rèn)JDK版本與編譯目標(biāo)不是所有“Java源碼”都兼容JDK17課程設(shè)計(jì)源碼?;贘DK8或JDK11編寫但你的電腦可能裝著JDK21。直接導(dǎo)入會(huì)導(dǎo)致編譯失敗——比如var關(guān)鍵字報(bào)錯(cuò)、List.of()不識別、甚至module-info.java沖突。實(shí)操步驟# 查看當(dāng)前系統(tǒng)JDK版本 java -version javac -version # 進(jìn)入源碼根目錄搜索關(guān)鍵文件 find . -name pom.xml | head -1 # Maven項(xiàng)目看pom.xml里的java.version find . -name *.iml | head -1 # IDEA項(xiàng)目看.iml文件里的JDK版本聲明 grep -r sourceCompatibility . # Gradle項(xiàng)目找gradle.properties或build.gradle提示如果沒找到構(gòu)建文件大概率是純Java SE項(xiàng)目無框架。此時(shí)打開任意.java文件看是否有import javax.swing.*;Swing桌面版或import javax.servlet.*;Web版。前者通常用JDK8后者需匹配Servlet API版本如Tomcat 9對應(yīng)Servlet 4.0要求JDK8。參數(shù)說明java -version輸出的1.8.0_381表示JDK8u38111.0.22表示JDK1121.0.3表示JDK21若源碼含Override注解在接口方法上JDK8特性則最低要求JDK8若出現(xiàn)record Book(String name, String isbn)語法則必須JDK142.2 識別項(xiàng)目類型Swing桌面版 vs Java Web版決定啟動(dòng)方式課程設(shè)計(jì)常見兩種形態(tài)啟動(dòng)命令天壤之別特征Swing桌面版Java Web版入口類public static void main(String[] args)在MainFrame.java或LoginFrame.java中public class LoginServlet extends HttpServletweb.xml配置UI技術(shù)JFrame,JTable,JButton組件HTMLJSPServlet或Thymeleaf模板數(shù)據(jù)庫連接DriverManager.getConnection(jdbc:mysql://localhost:3306/bookdb, ...)DataSource配置在context.xml或 Spring Bean 中啟動(dòng)方式j(luò)ava -cp .:lib/mysql-connector-java-8.0.33.jar com.example.Main部署到Tomcatcp *.war $TOMCAT_HOME/webapps/快速判斷法# 搜索入口類Swing grep -r public static void main src/ --include*.java # 搜索Web配置Web版 find . -name web.xml -o -name application.properties -o -name pom.xml | grep -E (web|servlet|spring) # 檢查lib目錄Swing常自帶jarWeb版依賴容器提供 ls -l lib/ | grep -E (mysql|jdbc|servlet)2.3 驗(yàn)證依賴完整性為什么“缺一個(gè)jar包就編譯失敗”是常態(tài)課程設(shè)計(jì)源碼常把第三方j(luò)ar包放在lib/目錄下但不同人打包習(xí)慣不同有人放完整jar有人只放class文件有人甚至刪掉mysql-connector-java.jar以為“本地有就行”。必須驗(yàn)證的3個(gè)jar包數(shù)據(jù)庫驅(qū)動(dòng)mysql-connector-java-x.x.xx.jar對應(yīng)MySQL 5.7/8.0GUI組件Swing版無需額外jarJDK內(nèi)置Web容器依賴Web版servlet-api.jarTomcat提供不可打包進(jìn)war修復(fù)缺失依賴的實(shí)操# 下載MySQL驅(qū)動(dòng)以8.0.33為例適配MySQL 8.0 wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.33/mysql-connector-java-8.0.33.jar mv mysql-connector-java-8.0.33.jar lib/ # 驗(yàn)證jar包可讀性防下載損壞 jar -tf lib/mysql-connector-java-8.0.33.jar | head -5 # 編譯全部Java文件Swing版 javac -cp .:lib/* src/com/example/*.java src/com/example/dao/*.java # 編譯Web版Servlet需指定servlet-api路徑 javac -cp .:lib/*:/opt/tomcat/lib/servlet-api.jar src/com/example/servlet/LoginServlet.java參數(shù)說明-cp .:lib/*表示類路徑包含當(dāng)前目錄.和lib下所有jarlib/*/opt/tomcat/lib/servlet-api.jar是Tomcat安裝路徑需按你本地實(shí)際路徑修改src/com/example/*.java按實(shí)際包路徑調(diào)整常見包名有booksystem,library,com.book3. 數(shù)據(jù)庫初始化從SQL腳本到連接池配置的避坑指南課程設(shè)計(jì)源碼里db.sql或init.sql腳本常被當(dāng)成“一鍵導(dǎo)入神器”但實(shí)際執(zhí)行時(shí)90%失敗——不是SQL語法錯(cuò)而是字符集、時(shí)區(qū)、權(quán)限三座大山擋路。3.1 SQL腳本執(zhí)行前必做的3項(xiàng)檢查現(xiàn)象執(zhí)行mysql -u root -p db.sql報(bào)錯(cuò)ERROR 1067 (42000): Invalid default value for create_time原因MySQL 5.7 默認(rèn)開啟STRICT_TRANS_TABLES模式DATETIME字段設(shè)DEFAULT 0000-00-00 00:00:00被拒絕解決-- 在db.sql開頭添加臨時(shí)關(guān)閉嚴(yán)格模式 SET SQL_MODE ; SET GLOBAL sql_mode ; -- 或修改建表語句推薦 CREATE TABLE book ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP -- 改用CURRENT_TIMESTAMP );現(xiàn)象導(dǎo)入后中文顯示為??控制臺打印亂碼原因MySQL服務(wù)端、客戶端、表字符集不一致常見組合服務(wù)端utf8mb4客戶端latin1解決-- 查看當(dāng)前字符集 SHOW VARIABLES LIKE character_set%; SHOW VARIABLES LIKE collation%; -- 創(chuàng)建數(shù)據(jù)庫時(shí)指定關(guān)鍵 CREATE DATABASE bookdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 修改現(xiàn)有數(shù)據(jù)庫若已存在 ALTER DATABASE bookdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;現(xiàn)象Java連接報(bào)錯(cuò)Access denied for user rootlocalhost原因MySQL 8.0 默認(rèn)認(rèn)證插件改為caching_sha2_password老版JDBC驅(qū)動(dòng)不兼容解決-- 登錄MySQL后執(zhí)行重置root密碼并改認(rèn)證插件 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY your_password; FLUSH PRIVILEGES;3.2 JDBC連接字符串的5個(gè)關(guān)鍵參數(shù)少一個(gè)就生產(chǎn)事故課程設(shè)計(jì)源碼中常見硬編碼// 危險(xiǎn)寫法 String url jdbc:mysql://localhost:3306/bookdb; Connection conn DriverManager.getConnection(url, root, 123456);必須補(bǔ)全的參數(shù)參數(shù)值作用useUnicodetrue強(qiáng)制使用Unicode編碼characterEncodingutf8mb4解決中文亂碼注意不是utf8serverTimezoneAsia/Shanghai避免時(shí)間戳偏移MySQL默認(rèn)UTCuseSSLfalse開發(fā)環(huán)境禁用SSL否則報(bào)證書錯(cuò)誤allowPublicKeyRetrievaltrueMySQL 8.0必需允許公鑰檢索安全連接字符串String url jdbc:mysql://localhost:3306/bookdb? useUnicodetruecharacterEncodingutf8mb4 serverTimezoneAsia/ShanghaiuseSSLfalse allowPublicKeyRetrievaltrue;3.3 從DriverManager到HikariCP為什么課程設(shè)計(jì)也要用連接池課程設(shè)計(jì)源碼多用DriverManager.getConnection()但并發(fā)量10就會(huì)卡死——每次請求新建連接MySQL最大連接數(shù)默認(rèn)1515個(gè)用戶同時(shí)借書就滿。HikariCP最小化配置hikari-config.properties# 數(shù)據(jù)庫連接 jdbcUrljdbc:mysql://localhost:3306/bookdb?useUnicodetruecharacterEncodingutf8mb4serverTimezoneAsia/Shanghai usernameroot password123456 # 連接池參數(shù) maximumPoolSize20 # 最大連接數(shù)按MySQL max_connections設(shè)置 minimumIdle5 # 最小空閑連接防冷啟動(dòng)慢 connectionTimeout30000 # 獲取連接超時(shí)毫秒 idleTimeout600000 # 空閑連接存活時(shí)間毫秒 maxLifetime1800000 # 連接最大生命周期毫秒小于MySQL wait_timeout集成到DAO層示例// HikariConfig.java public class HikariConfig { private static HikariDataSource dataSource; static { HikariConfig config new HikariConfig(hikari-config.properties); dataSource new HikariDataSource(config); } public static Connection getConnection() throws SQLException { return dataSource.getConnection(); } } // BookDaoImpl.java中調(diào)用 Connection conn HikariConfig.getConnection(); // 替換DriverManager.getConnection()血淚經(jīng)驗(yàn)maxLifetime必須比MySQL的wait_timeout默認(rèn)28800秒8小時(shí)小至少5分鐘否則連接被MySQL主動(dòng)斷開后HikariCP無法感知下次取連接時(shí)報(bào)Connection is closed。4. DAO層重構(gòu)把SQL硬編碼變成可審計(jì)、可測試的持久層課程設(shè)計(jì)源碼的DAO層常是“SQL黑洞”SQL拼接、無事務(wù)、無異常處理。重構(gòu)目標(biāo)不是炫技而是讓老師問“借書時(shí)庫存不足怎么回滾”時(shí)你能指著代碼說“在這里try-catch包裹update失敗時(shí)rollback”。4.1 用PreparedStatement替代Statement防SQL注入提升性能危險(xiǎn)寫法課程設(shè)計(jì)常見// ? 拼接SQL用戶輸入 OR 11直接繞過登錄 String sql SELECT * FROM user WHERE username username AND password password ; Statement stmt conn.createStatement(); ResultSet rs stmt.executeQuery(sql);安全重構(gòu)必須// ? PreparedStatement預(yù)編譯參數(shù)化查詢 String sql SELECT * FROM user WHERE username ? AND password ?; PreparedStatement pstmt conn.prepareStatement(sql); pstmt.setString(1, username); // 第1個(gè)?賦值 pstmt.setString(2, password); // 第2個(gè)?賦值 ResultSet rs pstmt.executeQuery();參數(shù)說明?占位符位置從1開始計(jì)數(shù)setString(1, ...)對應(yīng)第一個(gè)?setInt(),setDate(),setBoolean()按字段類型選擇避免字符串轉(zhuǎn)義錯(cuò)誤執(zhí)行多次相同SQL時(shí)PreparedStatement比Statement快3-5倍預(yù)編譯緩存4.2 事務(wù)管理借書操作必須原子化否則出現(xiàn)“扣庫存成功但寫借閱記錄失敗”典型場景用戶借書 → 庫存減1 → 新增借閱記錄。若第二步失敗庫存已扣無法恢復(fù)。課程設(shè)計(jì)源碼常漏的事務(wù)控制// ? 無事務(wù)兩步操作獨(dú)立提交 bookDao.updateStock(bookId, -1); // 自動(dòng)提交 borrowDao.insertRecord(userId, bookId); // 自動(dòng)提交正確事務(wù)封裝JDBC原生public boolean borrowBook(int userId, int bookId) { Connection conn null; try { conn HikariConfig.getConnection(); conn.setAutoCommit(false); // 關(guān)閉自動(dòng)提交 // 步驟1扣庫存 int stock bookDao.getStock(bookId); if (stock 0) { throw new RuntimeException(庫存不足); } bookDao.updateStock(conn, bookId, -1); // 傳入conn同一事務(wù) // 步驟2新增借閱記錄 borrowDao.insertRecord(conn, userId, bookId); // 傳入conn conn.commit(); // 全部成功才提交 return true; } catch (Exception e) { if (conn ! null) { try { conn.rollback(); } catch (SQLException ex) { ex.printStackTrace(); } } e.printStackTrace(); return false; } finally { if (conn ! null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } }關(guān)鍵點(diǎn)conn.setAutoCommit(false)是事務(wù)起點(diǎn)DAO方法必須接收Connection參數(shù)如updateStock(Connection conn, ...)確保所有操作在同一連接rollback()必須在catch塊中顯式調(diào)用否則異常后連接未釋放4.3 異常分類處理為什么“printStackTrace()”是課程設(shè)計(jì)最大敗筆課程設(shè)計(jì)源碼中catch (Exception e) { e.printStackTrace(); }遍地開花但答辯時(shí)老師問“借書失敗時(shí)用戶看到什么”你總不能說“看到一屏幕紅色堆?!?。三層異常映射層級異常類型處理方式示例DAO層SQLException記錄日志包裝成業(yè)務(wù)異常throw new DaoException(更新庫存失敗, e);Service層DaoException,BusinessException轉(zhuǎn)換為用戶友好消息return Result.fail(庫存不足請稍后再試);Controller/View層Result對象前端顯示提示框if (!result.isSuccess()) alert(result.getMsg());自定義異常類精簡版// DaoException.java public class DaoException extends RuntimeException { public DaoException(String message, Throwable cause) { super(message, cause); } } // BusinessException.java業(yè)務(wù)規(guī)則異常 public class BusinessException extends RuntimeException { public BusinessException(String message) { super(message); } }玄學(xué)提醒printStackTrace()只能在開發(fā)環(huán)境用生產(chǎn)環(huán)境必須用SLF4J或Log4j記錄到文件且日志級別設(shè)為ERROR避免刷屏。5. 避坑課程設(shè)計(jì)源碼里最常翻車的5個(gè)深坑課程設(shè)計(jì)源碼不是“玩具”它暴露的是真實(shí)工程能力斷層。以下5個(gè)坑我?guī)н^的237個(gè)學(xué)生里192人栽過且多數(shù)人直到答辯被問倒才意識到問題。5.1 現(xiàn)象Swing界面點(diǎn)擊按鈕無響應(yīng)控制臺無報(bào)錯(cuò)原因事件監(jiān)聽器注冊在非EDTEvent Dispatch Thread線程Swing組件線程不安全解決所有UI更新必須在EDT中執(zhí)行// ? 危險(xiǎn)在普通線程中更新UI new Thread(() - { bookList.setModel(new DefaultTableModel(data, columns)); // 報(bào)錯(cuò)java.awt.IllegalComponentStateException }).start(); // ? 正確用SwingUtilities.invokeLater SwingUtilities.invokeLater(() - { bookList.setModel(new DefaultTableModel(data, columns)); });5.2 現(xiàn)象Web版登錄成功后跳轉(zhuǎn)到空白頁URL變成http://localhost:8080/login.jsp原因response.sendRedirect()路徑錯(cuò)誤相對路徑解析失敗解決統(tǒng)一用絕對路徑以應(yīng)用名為前綴// ? 錯(cuò)誤相對路徑 response.sendRedirect(main.jsp); // 實(shí)際跳轉(zhuǎn)到 http://localhost:8080/main.jsp缺應(yīng)用名 // ? 正確獲取應(yīng)用名構(gòu)造絕對路徑 String contextPath request.getContextPath(); // 返回 /book-system response.sendRedirect(contextPath /main.jsp);5.3 現(xiàn)象MySQL插入中文報(bào)錯(cuò)Incorrect string value: \xE4\xB8\xAD\xE5\x9B\xBD...原因表字段字符集是utf8MySQL的utf8是閹割版僅支持3字節(jié)UTF-8而微信昵稱等含emoji需4字節(jié)解決字段級強(qiáng)制設(shè)為utf8mb4-- 修改已有字段 ALTER TABLE user MODIFY COLUMN nickname VARCHAR(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; -- 創(chuàng)建新表時(shí)指定 CREATE TABLE book ( title VARCHAR(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci );5.4 現(xiàn)象JUnit測試通過但實(shí)際運(yùn)行時(shí)DAO方法返回null原因測試用H2內(nèi)存數(shù)據(jù)庫而主程序連MySQLSQL方言差異如H2用LIMIT 10MySQL用LIMIT 0,10解決測試時(shí)復(fù)用真實(shí)數(shù)據(jù)庫配置或用Testcontainers啟動(dòng)MySQL容器// Testcontainers方案推薦 Testcontainers class BookDaoTest { Container static MySQLContainer? mysql new MySQLContainer(mysql:8.0) .withDatabaseName(testdb) .withUsername(test) .withPassword(test); Test void testFindById() { BookDao dao new BookDaoImpl(mysql.getJdbcUrl(), mysql.getUsername(), mysql.getPassword()); Book book dao.findById(1); assertNotNull(book); } }5.5 現(xiàn)象導(dǎo)出Excel時(shí)中文列名顯示為方塊原因Apache POI未設(shè)置字體Windows默認(rèn)宋體不支持中文解決顯式設(shè)置字體// 創(chuàng)建單元格樣式 CellStyle style workbook.createCellStyle(); Font font workbook.createFont(); font.setFontName(微軟雅黑); // 指定中文字體 font.setFontHeightInPoints((short) 12); style.setFont(font); // 應(yīng)用到標(biāo)題行 Row headerRow sheet.createRow(0); for (int i 0; i headers.length; i) { Cell cell headerRow.createCell(i); cell.setCellValue(headers[i]); cell.setCellStyle(style); // 關(guān)鍵 }6. 畢業(yè)答辯加分技巧用3個(gè)真實(shí)改進(jìn)讓老師眼前一亮答辯不是復(fù)述代碼而是展示工程思維。以下3個(gè)改進(jìn)每個(gè)都能在3分鐘內(nèi)完成但能讓老師立刻判斷“這學(xué)生真動(dòng)手了”。6.1 給登錄界面加驗(yàn)證碼不用圖形庫5行代碼搞定課程設(shè)計(jì)源碼登錄頁常裸奔加簡單文本驗(yàn)證碼既安全又顯功底// LoginFrame.java中添加 private String generateCaptcha() { String chars ABCDEFGHJKLMNPQRSTUVWXYZ23456789; // 去除易混淆字符 StringBuilder captcha new StringBuilder(); Random random new Random(); for (int i 0; i 4; i) { captcha.append(chars.charAt(random.nextInt(chars.length()))); } return captcha.toString(); } // 在loginButton ActionListener中驗(yàn)證 String inputCaptcha captchaField.getText().trim(); if (!inputCaptcha.equalsIgnoreCase(currentCaptcha)) { JOptionPane.showMessageDialog(this, 驗(yàn)證碼錯(cuò)誤); return; }價(jià)值點(diǎn)展示對基礎(chǔ)安全的認(rèn)知防暴力破解且代碼簡潔無依賴。6.2 用Log4j2替換System.out.println讓日志成為調(diào)試?yán)靼阉蠸ystem.out.println(查詢書籍 name)替換為結(jié)構(gòu)化日志!-- log4j2.xml -- Configuration statusWARN Appenders File nameFileOut fileNamelogs/book-system.log PatternLayout pattern%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n/ /File /Appenders Loggers Root levelinfo AppenderRef refFileOut/ /Root /Loggers /Configuration// BookService.java private static final Logger logger LogManager.getLogger(BookService.class); public ListBook searchBooks(String keyword) { logger.info(開始搜索書籍關(guān)鍵詞{}, keyword); // 結(jié)構(gòu)化日志 ListBook books bookDao.search(keyword); logger.debug(搜索到{}本書, books.size()); // debug級別生產(chǎn)環(huán)境自動(dòng)過濾 return books; }答辯話術(shù)“老師您看這里指向日志文件當(dāng)用戶反饋‘搜不到書’時(shí)我直接查book-system.log里開始搜索書籍那行就能定位是DAO層SQL問題還是前端傳參問題不用重啟服務(wù)。”6.3 為借閱記錄加唯一約束從根源杜絕重復(fù)借閱課程設(shè)計(jì)常忽略數(shù)據(jù)一致性用戶可無限次借同一本書。加數(shù)據(jù)庫唯一索引一勞永逸-- 確保一個(gè)用戶對同一本書只能有一條未歸還記錄 ALTER TABLE borrow_record ADD CONSTRAINT uk_user_book UNIQUE (user_id, book_id, return_time) WHERE return_time IS NULL; -- PostgreSQL語法MySQL用觸發(fā)器模擬MySQL兼容方案觸發(fā)器DELIMITER $$ CREATE TRIGGER check_duplicate_borrow BEFORE INSERT ON borrow_record FOR EACH ROW BEGIN IF EXISTS ( SELECT 1 FROM borrow_record WHERE user_id NEW.user_id AND book_id NEW.book_id AND return_time IS NULL ) THEN SIGNAL SQLSTATE 45000 SET MESSAGE_TEXT 該用戶已借閱此書尚未歸還; END IF; END$$ DELIMITER ;價(jià)值點(diǎn)展示對ACID原則的理解且方案可落地觸發(fā)器在MySQL 5.7完全支持。最后說句實(shí)在話我當(dāng)年交課程設(shè)計(jì)時(shí)也在BookDaoImpl.java里寫了200行SQL拼接直到實(shí)習(xí)被組長指著代碼說“這段明天上線你敢保證并發(fā)100人不丟數(shù)據(jù)”才明白——課程設(shè)計(jì)不是終點(diǎn)而是你第一次直面真實(shí)世界的粗糙接口、隱晦bug和模糊需求。現(xiàn)在你手里的java開發(fā)的課程設(shè)計(jì)圖書管理系統(tǒng)源碼.zip不是一份待交差的文檔而是一面鏡子照見你離合格工程師還差哪幾步。把這5個(gè)坑填平把3個(gè)改進(jìn)加上答辯時(shí)你就不是解釋“我寫了什么”而是告訴老師“我解決了什么問題”。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热精品观看| 51XX嘿嘿午夜无码| 色色色免费视频| 狠狠干总合| 久久色五月天| 久久五月热| 激情六月综合| 中文字幕AV网址| 怡红院精品视频久久久久久久久| 色狠狠狠干| 九 九九九AV| 五月天精品| 五月天婷婷激情小说电影| 性爱网久久| 久婷婷五月综合欧美| 五月婷婷涩涩爱| 欧美日韩成人在线| 婷婷五月天精品| 五月宗合激情网| 丁香五月激情宗合| 国产色丁香| 丁香五月婷婷99| 日本乱子人伦在线视频| 精品人妻午夜一区二区三区四区| 国产精品久久久久久久久久 | 亚洲第一成人AV| 国产精品电影| 99爱在线免费视频| 日日干日日| 影音先锋一区| 久久久久9| 色五月av| 久草性爱| 五月天色色色| 色色色色色综合| 五月天婷婷成人网| 91狠狠综合网| 丁香五月在线| 婷婷综合久久| 色135综合网| 五月丁香激情综合| 欧美顶级少妇做爰HD| 丁香 婷婷五月| 久久婷婷综| 天堂网色色| 色原狠狠综合| 五月婷婷影院| 色五月丁香五月五月婷婷| 色婷婷九月| 色五婷婷| xxxx五月激情| 天天干天天色天天干| 久色视频首页| 久久婷婷五月综合色和| 99免费视频| 天堂综合久久| 久久99网| 99日热在线视频| 激情内射人妻1区2区3区| 俺去也婷婷| 99热网站| 五月丁香 狠狠爱| 182tv992tv人之初午夜免费观看| 91九色中文| 亚洲精品在线视频| 都市激情五月婷婷综合| 99热这里只有精品22| 性生活视频98791| 五月婷婷免费在线观看视频| 久久九九网| 国产99热| 丁香五月婷婷国产av| 999热这里只有美国精品| 97干在线免费| 久久五月婷| 99在线精品免费视频| 日韩中文字幕| 日韩精品成人在线| 五月久久噜噜| 99视频精品全部观看10| 高清无码入口| 五月婷婷丁香综合,亚洲天堂| 国产色视频网站2| 久热超碰91| 久热综合| 国语精品探花| 激情深爱五月天| 日韩丰满少妇无码内射| 亚洲视频国产一区| 婷婷大美在线| 人妻视频在线| 久月久在线视频| 欧美色色日韩| 精品婷婷五月天| 成人性爱精品视频| 五月婷婷在线免费观看| av超碰在线| 日韩欧美成人片| 激情网站五月| 色色色五月婷| 97碰碰久久| 国产资源在线视频| 天天热夜夜操| 这里只有精品视频在线| 婷婷中文字幕网| 婷婷五月色| 亚洲国产成人裸舞| 天天日天天干天天操| 91男女视频在线观看| 日韩无码系列| 牛牛碰免费| 天天搞夜夜叫| 色五月综合资源推荐| 99欧美| 91午夜婷婷狠狠久久综合9色| 天天肏高清在线| 99热视| 婷婷成人AV| 丁香五月成人| 第四色色六月色综合| 天天日天天干天天插天天射| 五月天婷婷成人网| 欧美内射AA| 啪啪亚洲综合| 97干干干丁香| 99高级会所久久| 狠狠搞狠狠操| 五月丁香久久激情综合| 丁香五月婷婷成人综合| 另类激情综合| 色墦五月丁香| 激情九月婷婷| 青青草色在线视频观看| 天天操天天插| 婷婷性爱综合| 人妻久久久久久久久久久| 色人久久| 无码四色色色| 久久久这里有精品| 99小视频在线| 国产精品久久久久久白浆色欲| 五月色婷婷夜色| 亚洲婷婷月丁香五月| 色婷婷www| 六月婷婷啪啪| 五月99久久| 色婷婷亚洲在线| 婷婷色婷婷| 婷婷五月丁香91| 噜噜色com| 蜜臀AV在线观看| 99热老网站| 丁XX 成人| 大香蕉视频99| 美女美女美女三级色天天天天天| 影音先锋AV资源男人站| 女人天堂 AV| 国产精品美女久久久久AV超清| 在线五月婷婷小电影| 激情亚洲婷婷| 日韩黄黄| 国产人妻777人伦精品HD| 亚洲综合在线视频| 五月丁香六月天| 五月婷婷色色色| 丁香五月综合婷婷| 人妻AV在线| 超碰93在线观看| 91日视频| 亚洲另类在线观看| 天天搞夜夜六| 五月丁香色欲| 久久a热| 成人小说色图婷婷五月| 可以直接看的av| 五月丁香好婷婷A片网| 色色色五月天激情资源| 99九九玖玖| 色五月婷婷操逼| 婷婷久月| 另类激情五月| 亚洲色综合| 熟女激情网| 思思久久99热只有频精品66| 亚洲综合色棒| 91狠狠综合网| 图片区 小说区 区 亚洲五月| 亚洲精品乱码久久久久99| 亚洲欧洲中文日韩久久AV乱码| 99热精在线九九久久保| 91av成人| 色婷婷97| 激情激情激情网| 色操综合| 色综合九九| 女人露出p毛视频www网站| 99熟女| 情婷婷五月天在线| 99热很操老逼| 婷婷激情小说| 久久人妻人人槡| av成人在线播放| 无码人妻电影| 99热只有精品在线观看| 久久精品五月天| 婷婷婷婷婷婷婷五月丁香| 日本a片网址| 亚洲精品久久久无码| 天天爽天天透天天爱| 超碰99成人在线| 婷婷狠狠操| .精品久久久麻豆国产精品| 激情综合网,婷婷五月天| 九九精品免费视频99| 婷婷性福五月天| 97婷婷色| 天堂在线婷婷| 天天做天天爽| 99精品视频偷拍| 玖玖在线资源视频| 亚洲 视频 导航 一区| 狠狠狠狠狠| 中国激情网| 精品久久9| 亚洲综合色婷| 噜噜视频| 婷婷成人AV| 丁香五月天天日| 日本玖玖在线| 少妇高潮呻吟A片免费看软件| 五月天 无码| av九九| 天天久久婷婷| 国产精品久久久久久久久久久久| 婷婷在线综合| 五月丁香六月婷婷无码| 婷婷涩涩网| 九月婷婷综合网| 大香蕉AV在线| 99精品国产热久久91色欲| 丁香五月婷婷乱| 狠狠爱婷婷| Blackedraw视频一区二区| 亚洲99在线| 欧美 色婷婷| 成人五月天丁香婷| 久久99热这里只有精品| 欧美日本一区二区三区| 思思热在线视频观看精品| 黄色99热| 超级碰碰碰久久网站视频| 99热在线只有精品| 激情四射网| 亚洲bt丁香五月天婷婷激情小说| 婷婷五月天,影院| 4399在线观看免费毛片| 久操大屁股女人av| 亚洲传媒在线观看| 成人在线观看精品| 亚洲日韩一页精品发布| 五月天色综合| 337p大胆噜噜噜噜噜91Av| 久久久27操| 日日夜夜天天爽| 色婷婷精品小视频| 色五月婷婷少妇人妻| 婷婷六月啪啪| 精品人人操| 六月丁香成人| 亚洲色色五月| 久久婷婷丁香五月宗合| 9久久网| 五月婷婷啪啪啪啪| 日本三级第一页| 一本大道嫩草AV无码专区| 激情AV| 五月婷婷综合网| 色婷婷综合影院| 久9热在线免费观看| 人妻内射一区二区在线视频| 成人亚洲精品久久久久| 五月天丁香啪啪网| 国产精女同一区二区三区久| 中文婷婷狠狠| 99热在线观看99| 草久私拍| 日日操夜夜操无码免费| 热99精品视频五月| 9.1综合网| 国产亚洲99久久精品| 97资源欧美日韩大香蕉超碰一区| www九九| 91婷色| 色婷婷操逼| 五月丁香啪啪激情| www久久五月com| 五月婷婷基地| 五月色情婷婷开心五月色情| 日本在线噜噜| 激情综合网五月婷婷| 噜噜五月天综合| 五月综合婷婷五月| 婷婷丁香成人| 欧美成人精品A片免费一区99| www激情| 色五月网址| 熟妇人妻中文字幕无码老熟妇 | 99久久婷婷国产综合精品草原| 人妻熟妇国产精品| 秋霞三级影视资源| 亚洲综合热| 五月婷婷啪啪综合网| 大香蕉欧美在线| 久操无码| 日韩成人无码| 丁香花成人区| 九九热这里有精品视频| 丁香五月冃欧美| 噜噜久| 色五月欧美| 久久九九网| 五月开心网| 五月天大香蕉av| 久热爱大香蕉在线蜜臀悦色 | 免费99情趣网视频| 天天摸色吧天天摸色吧| 色999五月色| 99操视频| 日本色爽| 色色热| 五月做爱| 欧美激情五月综合| 五月天开心激情综合网| 五月婷婷天| 婷婷五月色播天| 九九久久免费视频44| 99日本精品视频热| 五月综合色播播丁香婷婷 | 婷婷五月 丁香六月| 亚洲色综久久五月| 激情色播| 久久一伦| 欧美婷婷五月激情| 亚洲激情综| 五月天丁香| 久久久婷婷色五月资源网| 婷婷色五月激情| 色色婷婷综合网| 天堂综合久久| 综合在线观看99| 婷婷无码视频| 操比激情五月| 五月色无码| 精品人妻久久久久久| 久久婷婷热| 99九九免费精品| 婷婷五月成人色综合| 日本五月天一页| 97色色综合| 亚洲av成人一区二区电影在线| 天天开心天天色| 婷婷日日夜夜| 四川女人毛多水多A片| 日本99色| 99re热免费观看视频精品| 亚洲天天操| 久久丁香婷婷五月| 狠色色狠网| 五月婷婷综合网| 99热在线资源| 怡红院一二三| 91人妻人人操| 天天天天天操| 九九精品热| 日韩日比视频| 五月丁香六月情| 国产古装妇女野外A片| 99爽视频| 狠狠色五月天| 大香蕉啪啪啪啪啪啪| 啪啪五月天啪啪| 大香蕉手机视频| 丁香五月天天| 婷婷六月激情| 超碰AV成人| 丁香欧美| 九九综合影音先锋| 天天日夜夜操五月| 男女啪啪做爰高潮无遮挡| 激情婷婷五月| 久热中文字幕| 激情久久久久久久久| 99九九视频| 成人性爱无码| 热99.com婷婷| 丁香婷婷综合激情五月色| 亚洲综合激情五月久久| 综合激情啪啪| 丁香六月欧美| 超碰成人在线观看| 亚洲av网站| 色婷婷玖玖影院| 亚洲另类久久| 亚洲精品九九| 婷婷丁香色五月| 97在线观视频免费观看| 久久99热精品a片在线观看| 五月婷婷丁香在线| 五月开心婷婷极品激情| 日本五月婷| 超碰在线人人| 操骚货在线| 色婷网| 91久久五月天| 在线婷婷| 九九热精品| 亚洲超碰在线| 国产成人片| AV天堂淫乩| 五月天另类激情在线| 久久五月天婷婷| 99在线观看精品视频| 91久久久久久久久| 天天爽夜夜操| 武则天精品久久| 午夜天堂啪啪| 综合五月草| 色色99| 伊人五月人妻精品| 人妻视频一区而且二区| 久色资源| 色综合中文色综合网| 激情AV在线| 色婷婷超碰| 99乱视频| 日日操夜夜爽白洁| 婷婷综合在线网| 五月婷av| 9精品在线| 思思热这里只有精品| 综合97五月| 99日韩| 影音先锋秋秋五月婷婷| 色婷婷五月视频| 99热亚洲综合| 99性视频| 99热这里只有精品亚洲| 九九精品大香蕉| 综合精品啪啪| 丁香婷婷性爱| 午夜国产精品AV在线播放| 1024久婷| 91五月天| 婷婷五月天激情综合深爱激情| 激情婷婷五月天丁香| 五月狠狠| 包操45分钟网站| 日韩日比视频在线| 在线观看中文字幕亚洲| 色国产五月| 天花AV无码| 成人av在线网站| 青青草a在线| 碰超亚洲| 激情图片五月天| www.人人操人人看人人想人人摸 人人人人操,COM| 久久久婷婷五月天| 99人人干| 天天干天天爽天天操| 97五月婷婷| www.五月丁香| 亚洲精品国产精品乱码视99| 六月99天天婷婷激情综合| 清纯唯美 激情四射| 综合一区二区三区| 天天噪夜夜爽| 婷婷五月AV| 玖玖在线视频| 激情六月丁香| 99愛国产| 99热99成人| 激情婷| 色五月人妻| 五月开心深爱激情网| 九九碰九九爱97超碰| VfJxEwPH| 青青热久久综合| 69久热| 噼里啪啦完整版中文在线观看 | 日本一級黃色一級片| 9l视频自拍九色9l视频自拍九色9l社区| 亚洲AV激情五月综合网| 亚洲成人网站在线播放| 丁香五月影| 六月丁香五月天| 亭亭五月色男人| 噜一噜免费视频| 丁香 亚洲 久久| 疯狂做受XXXX高潮A片| 99∨VTV| 婷婷五月开心中文字幕在线| 五月天婷婷六月激情网| 99色热视频| 人妻视频一区而且二区| 俺也去五月婷婷丁| 91精品久久久久久77777| 夜夜干天天操| 色色色色色色色色综合网| 激情啪啪五月天| 色情五月天丁香社区| 99热午夜精品| 2025超碰| 国产美女无遮挡裸体毛片A片| 成人一级片| 天天狠狠夜夜狠狠2023| 亚洲色vA| 久热最新视频| 韩国婷婷丁香五月| 色综合久久88色综合天天人守婷| 伊人久久婷婷| 最新热中文字幕| 久久婷网| 九九亚洲综合| 男人的天堂在线婷婷| 激情小说色五月| 五月天婷婷色色| 日韩九区| 丁香婷婷色五月| 综合色影| 99久久66| 色婷婷91激情小说| 激情另类综合| 国产激情综合五月| 操逼福利视频| 色综合久久天天综合网| 99性爱无码| 伊人婷婷五月| 丁香五月在线观看综合| 婷婷五月天成人基地| 五月天艹天天| 天天日日夜夜爽。| 综合久久五月天| 五月色婷婷AV| 婷婷开心激情五月激情网| 六月亭亭久久综合激情| 五月天深爱激情网| 播播网色播播| 婷婷丁香激情综合色情| 色综合99| 国产精产国品一二三在观看| 精品一二三区久久AAA片| 狠狠精品干练久久久无码中文字幕| 国产美女无遮挡裸体毛片A片| 99热亚洲| 99综合色色色| 五月99久久| 在线观看亚洲视频影院| 少妇激情基地| 久久这里只有精品无码| 啄木鸟丝袜美女福利视频| 久热这里只有精品99re| 青草激情综合| 99热在线精品观看| 激情五月综合网| 久9热在线视频| www久久99| 成人精品视频99在线观看免费| 午夜成人片400| 五月婷九月| 欧美啪啪网| 人人爱人人草| 伊人在线视频| 日韩视频女神99| ww久久| 天天操婷婷| 亚洲综合色网站| 丁香社区婷婷五月| 涩五月色婷婷| www夜夜| 色哟呦av| 99久久婷婷五月| 大香蕉精品视频| 有码人妻久久| 久久免片| 婷婷综合在线| 欧美久久久久久久久中文字幕| 亚洲久久日| site:picc-up.com| 五月天婷婷激情综合| 91精品无码| 香蕉AV777XXX色综合一区| 久久婷婷东京热大香樵| 久久色五月天| 色色色五月婷| 国产毛片精品一区二区色欲黄A片| 91在线人| 婷婷六月爽| 激情五月天伊人影院| 黄网在线免费观看| 久青草大香蕉| 婷婷五月色花丁香社区| 天天玩夜夜操| 久久精品一区二区三区四区| 99久操| 日本www五月婷婷| 婷婷五月天小说| 蜜桃人妻无码AV天堂三区| 91pornav在线| 日日日影院| 激情婷婷丁香五月天| 9国产在线视频| 99色综合网| 色偷偷狠狠| 99热国产这里只有精品| 东京热免费视频网站| 久久亚洲网| 五月婷婷日| 狠狠婷婷色综合| www色色色com| www,com,五月色色| 天天久久婷婷| 天天更新天天亚洲| 色五月婷婷亚洲| 六月婷婷视频| 久久精品66| 国产真人做爰视频免费| 99精品久久久久久久婷婷| 综合激情深爱| 成人无码髙潮喷水A片| 小骚穴电影| 天天干、天天日日| 国产做爰视频免费播放| 26uuu视频欧美| 成人视频在线免费播放| 久久区区一二三av| 人人操人| 手机AVAV天堂看网| 色色99| 中文字幕av在线| 美女丁香五婷婷| 91在线视频观看午夜福利| www.精品99| 97干欧美| 在线资源av-超碰中文在线-成人AV| 五月婷婷视频ab| 青青久在线视频免费观看| 丁香五月自拍| 久久丁香五月天| 综合久久十三| 综合五月激情| 97色五月婷婷在线| m色激情网| 亚洲欧美在线观看| 亚洲 激情 中文| 色婷婷狠狠| 欧韩性爱| 色婷婷丁香五月| 五月婷婷六月丁香免费| 日日噜噜夜夜狠狠久久丁香六月| 久久久久久久久久久97| 色五月超碰| 九九热99熟女| 大香蕉婷婷久久| 日韩在线9| 日韩精品一区二区亚洲AV观看| 丁香五月综合久久综合| 亚洲欧美婷婷五月色综合| CAOBIBI| 色五月婷婷大香蕉| 91色噜噜狠狠狠狠色综合| 久操97| 另类激情综合| 第四色五月天| 在线五月色播| www.99精品日操伊人乱碰在线| 五月激情丁香| 亚洲人妻电影| 97久久草草超级碰碰碰| 青草青草久热这里只有精品| 欧洲色区| 大陆肏屄视频| 婷婷色中文| 欧美成人A片AAA片在线播放| 伊人春天av| 9久久狠狠的| 狼人婷婷久久| 色五月婷婷五月| 色综合久久天天综合网| 四色五月婷婷| 国产美女视频久| 激情五月天色色| 亚洲人妻av| 五月天成人在线| 亚洲AV永久无码影院黑人| 超碰国产在线观看| 五月丁香啪啪啪免费看| 五月婷婷综合激情小说| 激情丁香五月| 精品久久人妻热| 成人无码免费一区二区中文| 少妇搡BBBB搡BBB搡毛茸茸 | 婷婷综合欧美| 天天干天天做| 色色网站免费| 怡红院 久久| 国产偷人爽久久久久久老妇APP| va亚洲中文在线| 激情五月天啪啪| 国产精品99久久久久久久女警| 开心五月色婷婷综合开心网| 4399亚洲视频| www久久久久久久久久久| 五月天网站亭亭| 永久的网站AAAA | 色五月婷婷1| 狼人久草| 噜噜在线| 五月丁香WWW| 久久五月天丁香| 开心五月天激情网| 99视频在线精品免费观看2| 91人人操人人| www,99色| 色婷婷综合视频| 五月亭亭狠狠| 99re这里只有精品免费| 久激情| 日本熟妇乱妇熟色A片蜜桃| 色五月av| 激情开心五月亚洲| 97人妻碰碰碰久| 婷婷性爱五月天丁香网| 99操视频| 七七九色| 色婷婷成人五月| 开心婷婷五月激情网小说| 97操女视频| 欧美激情综合| 99riAV国产精品视频| 3www激情| 日本本土色网第一区| 五月婷婷黄| 亚洲中字AV电影在线网站| 综合大香蕉| 五月丁香六月婷婷欧美综合| 丁香久色| 97色色色| 久久婷婷五月综合啪| 五月丁香久久呀| 五月伊人综合| 91成人电影| 亚洲色频| 亚洲狠9| 人人爱操| 久久综合激情| 综合色色网| 天天色噜| 色婷婷五月天视频网站| 婷婷亚洲在线| 亚洲mm色| 久久er+| 久久久久9| 人妻激情在线| 色综合香蕉| 丁香天堂夜| 影音先锋男人AV资源站| 国产精品91抖高| 大香蕉婷婷| 五月天com| 99热最新网址| 91丁香五月| 日本女人久久| 噜噜噜久久| 第四色首页| 五月婷婷久草在线视频综合| 丁香五月久久综合| 狠狠色丁香婷婷综合久久97AV| 婷婷丁香五月天哟啪| 99热插| 婷婷久久天堂网| 亚州第一黄网| 五月婷婷丁香综合,亚洲天堂| 91麻豆国产三级精品福利在线观看| 三十熟女| 国产XXXX搡XXXXX搡麻豆| 99久视频| 欧美三级巜人妻互换| 中文字幕日产A片在线看| AA片在线观看视频在线播放 | 色情五月婷婷| 激情AV| 狠狠艹狠狠艹| wWw色五月| 热99视频精品| 可以免费看的av网站| 欧美性色五月天| www夜夜操com| 久久婷婷五月| 国产操碰| www.婷婷五月天| 色99在线视频| 操操啪| 久久久99精品免费观看| 淫视馆av三区| 丁香激情五月少妇| 色婷婷伊人| 五月婷婷综合网| 激情网 五月天| 26UUU精品一区二区Com| 成人精品99| 97色操| 五月婷色| 一级AV片| 丁香五月成人自拍| a九九热www| 色婷婷影视| 色五月av伊人| 五月丁香免费看| 97在线刺激| 人妻av在线| 字幕网AV中文字幕| 精品爆操| 婷婷中文字幕| 五月婷婷六月丁香激情深爱| 亚洲VA在线| 国产免费av在线| 色 免费网站视频| 六月丁香婷婷天堂| 亚洲色五月天| 国产成人99久久亚洲综合精品| 亚洲国产无线乱码在线观看| 羞羞嫩草视频| 91婷婷色| 激情婷婷五月色| 五月天播播中文字幕| 五月丁香六月情| 色婷婷激情Av久久久| 色婷婷啪啪啪啪啪啪| 国产乱码久久| 一本道综合网| 婷婷情色五月天| 久热免费视频| 精品久热69| 五月丁香婷婷在线综合蜜桃| 激情欧美丁香五月| 天天色天天日| 色综合久网| 中文网AV| 婷婷五月天综合在线| 色五月婷婷五月| 97搞在线| 中文精品久久久久人妻不| 婷婷五月深爱五月| 五月婷婷激情综合| 极品五月天| 婷婷五月成年人| 天天色综网| 婷婷成人五月天| 久99精品视频| 五月天自拍网| 97人人看| 99在线视频观看| 久久机热这里只有精品免费视频| 色丁香影院| av国产精品| 182TV亚洲| 丁香 婷婷 亚洲 熟女| 高清无码入口| 精品亚洲国产成AV人片传媒| 色婷婷色五月色丁香| 成人AV在线网站| 久久月天堂| 激情五月图| 欧美97色| 日本在线wwww| 天天狠狠色| 天天日夜夜拍| 亚洲婷婷91丁香| 亚洲视频图片婷婷五月| 国产AV一区二区三区最新精品 | 国产激情久久| 亚洲午夜AV| 美女五月狠狠| 久久激情四射| 人妻videos人妻高清| 99热官网精品在线| 99ri视频在线播放| 99热在线精品观看| 国产午夜精品一区二区三区嫩草| 久操热| 色激情五月| 九九re视频在线视频| 久久五月网| 96精品久久久久久久久| 久久天堂加勒比| 婷婷无码视频| 亚洲婷婷性爱| 激情五月综合免费| 狼人久草| 色色五月婷| 亚洲综合色婷婷| 欧美色色色色色色| 欧美激情VA永久在线播放| 天天综合天综合久久网| 丁香五月天激情综合网| 能看的AV| 丁香五月婷婷动漫| 色婷婷六月天| 五月网激情| 99久久6| 天天操天天爱天天日| 欧美色久| 久热免费| 欧美精品啪啪| 97久久草草超级碰碰碰| 玖玖在线| 五月天另类小说| 91久久精品视频| 久久婷婷五月天综合| 精品热九九| 日日夜夜综合| 久久免费干| 天天操电影院色狼性av| www.色情五月天.com| 亚州操人在线视频| 男人天堂AV在线一区二区| 婷婷六月丁香欧美视频在线| 五月丁香888| 激情六月色| 人伦30P| 婷婷中文在线| 99热 这里只有精品 国产 日韩| 五月丁香婷婷色色| www.天天干.com| www.五月天| 操丝袜视频影院导航| 五月婷婷影视| 丁香五月天啪啪| 久色激情| 五月丁香啪| 五月人人丁香婷婷五月人人丁香| 日本一级黄色片。| 综合网色综合| 丁香久久| 九九热精品视频九九| 91 欧美| 狠狠草综合网| 日韩无码乱轮| 久久激情综合| 国产伊人五月天| 99婷婷精品推荐在线视频| 夜丁香综合| ′久久99一| 色综合色综合网| 青青草蜜臀| 婷婷五月激情小说| 五月丁香激情四射| 色吧婷婷| 熟女人妻一区二区三区免费看| 色丁香五月婷婷在线| 国产AV不卡福利| 色播五月婷婷| 五月婷婷插一插| 伊人9在线| 婷婷色五月激情| 亚州精品久久久久AV无码| 色色九九五月天 | 热这里只有精| 一级七香蕉| 色五月天丁香| 久久婷婷婷婷伊人| 五月丁香激情啪啪网| 五月天婷婷丁香| 色婷婷狠狠干| 色色色色色色色色色色色色色五月天| 99狠狠| 久久ER视频com| 色五月中文字幕| 婷婷五月天堂| 亚洲欧美一区二区三区四区爱爱动图| 精典久久| 90色免费视频| 成人短视频在线| 色综合综合网| 香蕉婷婷| www.一起草av| 99色在线视频| 日韩aaaaa| 五月色丁香成人| 日韩 中文 欧美| 五月网站| 久久大香蕉| 洗浴中心操B视频| 九九热色视频| 中文字幕成人影视| 亚洲欧洲中文日韩久久AV乱码| 久久最新色| 天天久久综合| 91精品综合久久久久久五月丁香| 性爱111111| 91九九| 五月天成人在线播放| 色噜噜,噜噜色| 六月丁香啪啪啪| 极品人妻VIDEOSSS人妻| 五月婷婷久久综合| 99热超| 少妇人妻偷人精品无码视频新浪| 人妻久久婷婷| 亚洲国产色色| 久久国产精品乱子伦_靑青草…| 丁香六月青青草| 伊人久久丁香狠狠婷婷综合香蕉 | 日本综合色色| 国产亚洲成AV人片在线| 97av在线视频| 亚洲综合成人网| 激情亚洲网| 亚洲婷婷丁香五月视频| 人妻久久久久| 色婷婷中文在线| 成人做爰A片免费看网站找不到了| 五月婷婷色综图片| 26uuu国产| 六月丁香好婷婷| 激情五月丁香色婷婷| 丁香五月电影| 丁香五月中文字幕| 第1影院之五月婷婷| 黄色激情网站在线观看| 亚洲视频一区| 欧美精品99久久久| 深爱激情婷| 色丁香婷婷美女视频网站| 五月天伊人av| 九九热AV| 色婷婷综合网站| 日本久久人| 色婷婷综合影院| 97超级免费无码| a免费在线| 97在线观视频免费观看| 99激情| 日日夜夜狠狠| 婷婷五月天网| 91久久久久久久久18| 欧美日韩99| 久久婷五月天| 久久久www| 97色干| 色综合婷婷| 亚洲AV综合在线观看| 九九综合色综合| 日韩黄色电影| 色婷久| 婷婷丁香五月婷婷| 大天天伊人| 六月婷婷激情| 91久久九久久九久久九久久九久久| 婷婷五月丁香基地| 噜噜视频| www.久久爱.com| www,色婷婷| 日韩啪啪视频| 色色色欧美| 色五月婷婷五月| 色五月成人| 欧美性猛交XXXX乱大交极品| 色欧美一级| 婷婷丁香18| 艹色18p| 日韩成人电影Av| 久久久久99精品成人网站| 久久免费少妇高潮99精品| www.九月婷婷丁香.com| 99久久精品亚洲综合| 四月婷婷五月丁香| 日韩综合网络男女香蕉a片| 日本91在线| 天天日天天舔| 狠狠干.com| 草久私拍| 久99久精品| 九九黄色网| 综合久色五月| 亚洲久久婷婷| 色久丁香五| 色婷久久| 精品无码久久久久久久久| 婷婷五月天 丁香五月天 裸体| 五月丁香在线观看国产| 色欧美日| 色色九九五月天 | 色情五月天导航| 91碰| www.激情在线| 久久五月婷天天干| 亚洲欧州色情在线观看| 色域五月婷婷丁香| 成人在线日韩| 91久女| 丁香六月婷婷久久高清| 区区久久妻| 五月婷婷就去色| 丁香五月色欲| 色婷婷香蕉| 欧美大肥婆大肥BBBBB| 色级婷婷| www.粉嫩av.com| 五月天欧美激情| 色色五月天网站| 丁香久久| 天堂网色色| 人人爱干人人爱草| 久久成人人妻| 人人草人人爱| 影音先锋男士资源网一区| 色五月婷婷综合| 99秘 在线| 五月丁香六月天| 成人综合网站| 婷婷 丁香 久久| 婷婷五月 丁香六月| 五月天婷婷在线播放| 久久精品99| 任你爽在线视频| 日本精品99| 五月天激情av| 久色激情| HD久久精品视频| 五月婷婷六月丁香综合视频在线| 26UUU精品一区二区| 五月天综合色| 狠狠九九婷婷韩| 99爱免费在线观看| www.maotanji.com| 九月丁香网婷婷| 超碰97久久| 久色姿源| 91婷婷色 | 久久色这里只有精品| 欧美色五月| 香蕉中文在线| 色 五月俺去也| 丁香五月婷婷啪| 九九伦子片| 97操碰视频| 热99精品视频| 黄网在线播放| 欧美人与性动交CCOO| 91久久五月天| 人妻操逼| 婷婷五月天激情电影| 国产成人一区二区三区在线观看| 大香蕉五月| 五月婷婷婷婷婷| 国产午夜精品AV一区二区麻豆| 婷婷五月色影视先锋| 五月婷婷激情综合视频| 97中文在线| WWW·色色色·COM| 五月丁香激情在线| 超碰99热| 激情九月综合| 9l视频自拍九色9l视频在线观看| 色综合久久久无码中文字幕999| 第四色色六月色综合| 91热在线| 青青久久大香蕉| 久久婷婷丁香六月天| 99操| 成人精品视频99在线观看免费| 婷婷无码视频| 婷婷色导航| 五月色婷婷夜色| 色射婷婷五月天| 丁香六月婷婷| 五月色综合| 中文无码婷婷| 丁香五月黄色| 天天干 夜夜爽| 成人做爰高潮A片免费视频| 色五月丁香六月资源站| 五月综合久久| 极品少妇婷婷五月| 欧美97p| 午夜精品久久久久久久爽| 婷丁五月| 久久久久亚洲AV无码网影音先锋| 超热久碰.com| 亚洲情a| 热久91| 人人操Av| 99热这里只有精品9| 五月香婷婷| 久久婷婷五月综合激情国产 | 午夜电影网VA内射| 久热在线中文字幕色999舞 | 中日韩狠狠色| 热99在线精品| 91成人电影| 99亚洲视频| 色久影院| 超碰色综合| 99热在线资源| 婷婷丁香五月麻豆| 97在线视频观看| 久久九九99| 99色激| 99热只有这里有精品| 人妻久久久久| 99久久99九九99九九九| 99热成人精品| 少妇性BBB搡BBB爽爽爽电影| WWW.桔色成人.COM入口| 强辱丰满人妻HD中文字幕| 婷婷五月天日逼| 婷婷五月丁香五月基地| 亚洲成人噜噜| 婷婷99狠| 久久综合人妻| 人人干99| av大香蕉| 99热这里只有精品国产免费| 欧亚成人A片一区二区| 婷婷六月天精品| 97人人操人人拍| 五月丁香成年黄色| 色激情综合| 天天插天天干| 五月婷婷福利| www.久9| 这里只有精品视频99| 激情五月天激情网| 中文字幕日产A片在线看| 另类综合网| 天天操天天曰天天射| 色五月丁香婷婷久草| 婷婷五月天网| 天天操人人干| caop在线| 久久久久丁香婷婷五月天| 五月婷婷综合影院| 欧美日韩一区二区三区四区| 另类视频一区| 啊v视频在线观看| 97色色色色色色色色色色色色色| 开心五月婷婷激情| 狠狠插日日干撸| 久久女人天堂| 色婷婷在线视频| 亚洲激情色色| av激情在线| 被强行糟蹋的女人A片| 啄木鸟黑丝一区二区| 97操碰在线97| 97香蕉碰碰人妻国产欧美| 久久人妻爱爱| 中文字幕婷婷在线| www久| 狠狠狠狠狠狠狠狠草| 五月婷婷草| 无码人妻少妇色欲AV一区二区| 激情综合婷婷| 激情五月综合久久| 97色婷婷|