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

ARTICLE DETAIL

資訊詳情

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

Swing+JDBC+MySQL畢業(yè)設計系統(tǒng):輕量可控的Java桌面應用實踐

Swing+JDBC+MySQL畢業(yè)設計系統(tǒng):輕量可控的Java桌面應用實踐 簡介本資源是一套基于Java桌面開發(fā)的畢業(yè)設計選題管理系統(tǒng)實戰(zhàn)項目面向計算機專業(yè)本科生、Java初學者及課程設計實踐者解決高校畢業(yè)設計環(huán)節(jié)中師生選題、命題、審核與數(shù)據(jù)管理的信息化需求。項目采用Swing構建圖形界面JDBC連接MySQL實現(xiàn)數(shù)據(jù)持久化完整覆蓋用戶權限控制、題目發(fā)布、學生選題、管理員審核及查詢統(tǒng)計等核心業(yè)務流程。壓縮包共18個文件含12個Java源碼涵蓋UI、DAO、Entity等分層邏輯、1份SQL建庫腳本、1份詳盡的數(shù)據(jù)庫表設計文檔.doc與.md雙格式、1個可運行jar包及配套依賴jar整體4.61MB結構清晰便于逐模塊學習與調試。已有1532人下載學習提供開箱即用的完整工程結構、規(guī)范的數(shù)據(jù)庫設計說明與典型SwingJDBC集成實踐是掌握Java GUI開發(fā)、數(shù)據(jù)庫交互及多角色權限系統(tǒng)設計的優(yōu)質教學案例。1. 為什么用 Swing JDBC MySQL 做畢業(yè)設計選題管理系統(tǒng)反而比 Spring Boot 更穩(wěn)、更可控、更適合答辯這不是一個“過時技術堆砌”的懷舊項目而是一類明確面向教學閉環(huán)、輕量級部署、零運維依賴的典型 Java 畢業(yè)設計落地場景學生要獨立完成從數(shù)據(jù)庫建模、界面交互、業(yè)務邏輯到本地可演示的全鏈路且評審老師只關心“能不能跑通”“邏輯清不清”“數(shù)據(jù)存不存得住”不關心高并發(fā)、微服務或云原生。Swing 提供開箱即用的桌面 GUIJDBC 直連 MySQL 避開 ORM 抽象層帶來的黑匣子比如 MyBatis 的 XML 映射錯位、Spring Boot 自動配置沖突MySQL 本地安裝簡單、命令直觀、日志清晰——三者組合恰恰構成了一條最短路徑驗證能力的技術棧。尤其當學生面對“Java 環(huán)境配不起來”“Maven 依賴拉不下來”“Tomcat 啟動報 404”這類高頻翻車點時Swing 程序雙擊 jar 就能運行JDBC 連接字符串寫死在代碼里也一目了然MySQL 用mysqld --console就能看到實時 SQL 執(zhí)行日志。這不是倒退而是把注意力精準錨定在“業(yè)務邏輯是否自洽”這個核心上。適合大三下至大四上、Java 基礎扎實但工程經驗尚淺、需在 46 周內交付可演示、可講解、可調試的完整系統(tǒng)的學生。2. 從零搭建用 Swing 構建可交互的選題管理主界面不是拖控件而是用代碼控布局Swing 不是“拖拽完就交差”的玩具它的價值在于完全掌控 UI 生命周期與事件流。畢業(yè)設計選題系統(tǒng)的核心界面必須支持教師發(fā)布課題、學生查看/選擇/撤回、管理員審核/統(tǒng)計——這些操作不能靠JFrame默認布局糊弄必須用BorderLayoutGridBagLayout混合嵌套保證不同角色登錄后動態(tài)切換功能區(qū)同時避免組件重疊、縮放錯亂等玄學問題。2.1 主窗口結構用 BorderLayout 劃分功能區(qū)避免嵌套失控主窗口采用BorderLayout作為頂層容器這是 Swing 中最穩(wěn)定、最易理解的布局策略。頂部放角色標識欄顯示“當前用戶張三學生”中部用JTabbedPane承載不同角色視圖教師 tab / 學生 tab / 管理員 tab底部固定狀態(tài)欄顯示“已連接 MySQL 8.0.33”。這種結構的好處是各區(qū)域職責單一add(Component, BorderLayout.CENTER)等調用語義清晰不會像GroupLayout那樣因 IDE 自動生成代碼導致維護困難。public class MainFrame extends JFrame { private JTabbedPane tabbedPane; private JLabel statusLabel; public MainFrame() { setTitle(畢業(yè)設計選題管理系統(tǒng)); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setLayout(new BorderLayout()); // 頂部角色信息欄 JPanel topPanel new JPanel(new FlowLayout(FlowLayout.LEFT)); topPanel.add(new JLabel(當前用戶)); JLabel userLabel new JLabel(未登錄); topPanel.add(userLabel); add(topPanel, BorderLayout.NORTH); // 中部選項卡面板后續(xù)動態(tài)填充 tabbedPane new JTabbedPane(); add(tabbedPane, BorderLayout.CENTER); // 底部狀態(tài)欄 JPanel bottomPanel new JPanel(new FlowLayout(FlowLayout.RIGHT)); statusLabel new JLabel(未連接數(shù)據(jù)庫); bottomPanel.add(statusLabel); add(bottomPanel, BorderLayout.SOUTH); pack(); setLocationRelativeTo(null); setVisible(true); } public void updateStatus(String msg) { statusLabel.setText(msg); } }提示pack()必須在所有組件添加完畢后調用否則窗口尺寸異常setLocationRelativeTo(null)讓窗口居中顯示比setBounds()更適配不同分辨率屏幕。2.2 學生選題 Tab用 GridBagLayout 實現(xiàn)緊湊表單解決字段對齊難題學生 Tab 需要展示課題列表JTable、篩選條件JComboBoxJTextField、操作按鈕“選擇”“撤回”“刷新”。若用FlowLayout或GridLayout會導致“課題名稱”文本框過寬、“專業(yè)方向”下拉框過窄、“選擇”按鈕被擠到角落。GridBagLayout是唯一能精確控制每個組件權重、填充方式、內外邊距的方案。關鍵參數(shù)說明gridwidth GridBagConstraints.REMAINDER讓“刷新”按鈕獨占一行weightx 1.0讓課題表格水平撐滿fill GridBagConstraints.BOTH讓表格填滿分配空間insets new Insets(5,5,5,5)統(tǒng)一內外邊距避免視覺粘連。private JPanel createStudentTab() { JPanel panel new JPanel(new GridBagLayout()); GridBagConstraints gbc new GridBagConstraints(); gbc.insets new Insets(5, 5, 5, 5); gbc.fill GridBagConstraints.HORIZONTAL; // 篩選行 gbc.gridx 0; gbc.gridy 0; gbc.weightx 0.3; panel.add(new JLabel(專業(yè)方向), gbc); gbc.gridx 1; gbc.weightx 0.7; JComboBoxString majorCombo new JComboBox(new String[]{計算機科學, 軟件工程, 人工智能}); panel.add(majorCombo, gbc); gbc.gridx 0; gbc.gridy 1; gbc.weightx 0.3; panel.add(new JLabel(關鍵詞), gbc); gbc.gridx 1; gbc.weightx 0.7; JTextField keywordField new JTextField(20); panel.add(keywordField, gbc); // 表格使用 DefaultTableModel 動態(tài)填充 gbc.gridx 0; gbc.gridy 2; gbc.gridwidth 2; gbc.weighty 1.0; gbc.fill GridBagConstraints.BOTH; JTable table new JTable(new DefaultTableModel( new Object[][]{}, new String[]{ID, 課題名稱, 指導教師, 專業(yè)方向, 狀態(tài)} )); JScrollPane scrollPane new JScrollPane(table); panel.add(scrollPane, gbc); // 按鈕行 gbc.gridy 3; gbc.gridwidth GridBagConstraints.REMAINDER; gbc.fill GridBagConstraints.NONE; gbc.anchor GridBagConstraints.EAST; JPanel buttonPanel new JPanel(new FlowLayout(FlowLayout.RIGHT)); buttonPanel.add(new JButton(選擇)); buttonPanel.add(new JButton(撤回)); buttonPanel.add(new JButton(刷新)); panel.add(buttonPanel, gbc); return panel; }注意JTable的DefaultTableModel必須在構造時傳入空數(shù)據(jù)和列名后續(xù)用addRow(Object[])動態(tài)追加不能直接修改Vector內部數(shù)據(jù)——否則表格不刷新。這是 Swing 事件模型的硬性約定不是 bug。3. 數(shù)據(jù)驅動用 JDBC 直連 MySQL繞過 ORM 黑箱把每一條 SQL 都攥在手里JDBC 不是“老古董”而是調試友好性與教學透明度的終極保障。當學生在答辯現(xiàn)場被問“你查課題用了什么 SQL怎么防止 SQL 注入事務在哪提交”時手寫PreparedStatement的代碼就是最硬的底氣。MyBatis 的if標簽、Spring 的Transactional注解在答辯環(huán)節(jié)反而容易暴露理解盲區(qū)——而conn.prepareStatement(SELECT * FROM topic WHERE major ? AND status ?)這一行誰都看得懂、改得動、斷點跟得進。3.1 連接池不是必需品HikariCP 對畢業(yè)設計是過度設計DriverManager 足夠穩(wěn)很多教程一上來就教 HikariCP但對單機演示系統(tǒng)它帶來的復雜度遠超收益要配application.properties、要處理DataSource注入、要理解連接泄漏檢測閾值。畢業(yè)設計階段用DriverManager.getConnection()直連配合try-with-resources自動關閉既安全又清爽。MySQL 8 驅動必須用com.mysql.cj.jdbc.DriverURL 格式強制要求serverTimezone參數(shù)否則ResultSet.getDate()返回 nullpublic class DatabaseConnection { private static final String URL jdbc:mysql://localhost:3306/thesis_db?useSSLfalseserverTimezoneAsia/ShanghaiallowPublicKeyRetrievaltrue; private static final String USER root; private static final String PASSWORD 123456; public static Connection getConnection() throws SQLException { try { Class.forName(com.mysql.cj.jdbc.Driver); // 顯式加載驅動避免 ClassNotFoundException } catch (ClassNotFoundException e) { throw new RuntimeException(MySQL JDBC Driver not found, e); } return DriverManager.getConnection(URL, USER, PASSWORD); } }血淚經驗allowPublicKeyRetrievaltrue是 MySQL 8.0.28 的強制要求否則拋Public Key Retrieval is not allowed異常useSSLfalse在本地開發(fā)環(huán)境可關閉 SSL避免證書配置麻煩——這不等于生產環(huán)境可忽略安全而是教學場景下優(yōu)先保證連通性。3.2 CRUD 封裝用泛型 DAO 統(tǒng)一模板但絕不隱藏 SQLDAO 層不是為了炫技而是為了讓增刪改查邏輯集中、可審計、可替換。我們不封裝成topicService.save(topic)而是寫成TopicDao.insert(topic)方法體內明明白白寫著INSERT INTO topic (...) VALUES (?, ?, ?)。這樣學生能一眼看出字段順序是否與數(shù)據(jù)庫一致、?占位符個數(shù)是否匹配、executeUpdate()返回值是否為 1表示成功插入一行。public class TopicDao { public static int insert(Topic topic) throws SQLException { String sql INSERT INTO topic (title, teacher, major, description, status) VALUES (?, ?, ?, ?, ?); try (Connection conn DatabaseConnection.getConnection(); PreparedStatement ps conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS)) { ps.setString(1, topic.getTitle()); ps.setString(2, topic.getTeacher()); ps.setString(3, topic.getMajor()); ps.setString(4, topic.getDescription()); ps.setString(5, topic.getStatus()); // 待選 / 已選 / 已審核 int rowsAffected ps.executeUpdate(); if (rowsAffected 1) { try (ResultSet rs ps.getGeneratedKeys()) { if (rs.next()) { topic.setId(rs.getInt(1)); // 獲取自增主鍵 } } } return rowsAffected; } } public static ListTopic findByMajorAndStatus(String major, String status) throws SQLException { String sql SELECT id, title, teacher, major, description, status FROM topic WHERE major ? AND status ?; try (Connection conn DatabaseConnection.getConnection(); PreparedStatement ps conn.prepareStatement(sql)) { ps.setString(1, major); ps.setString(2, status); ListTopic topics new ArrayList(); try (ResultSet rs ps.executeQuery()) { while (rs.next()) { Topic t new Topic(); t.setId(rs.getInt(id)); t.setTitle(rs.getString(title)); t.setTeacher(rs.getString(teacher)); t.setMajor(rs.getString(major)); t.setDescription(rs.getString(description)); t.setStatus(rs.getString(status)); topics.add(t); } } return topics; } } }關鍵細節(jié)ps.executeUpdate()返回受影響行數(shù)必須校驗是否為 1否則可能是字段類型不匹配如VARCHAR插入超長字符串被截斷或唯一鍵沖突Statement.RETURN_GENERATED_KEYS參數(shù)讓getGeneratedKeys()可用這是獲取自增 ID 的標準方式比SELECT LAST_INSERT_ID()更安全。4. 避坑Swing JDBC MySQL 組合下90% 的翻車都發(fā)生在這 4 個地方Swing 界面卡頓、JDBC 連不上、MySQL 字段存亂碼、事務不生效……這些不是“運氣不好”而是有跡可循的共性陷阱。以下是我?guī)н^ 17 屆畢設學生總結出的最高頻、最隱蔽、最容易被答辯老師揪住的 4 類問題每一條都附帶現(xiàn)象、根因和可立即執(zhí)行的修復動作。4.1 現(xiàn)象Swing 界面點擊按鈕無反應Console 無任何輸出原因事件監(jiān)聽器未正確綁定或ActionListener寫在了非 EDTEvent Dispatch Thread線程中導致 GUI 線程阻塞。常見于在SwingWorker外部直接調用耗時 JDBC 操作如TopicDao.findByMajorAndStatus()而沒做線程隔離。解決所有數(shù)據(jù)庫操作必須包裹在SwingWorker中done()方法里更新 UI。禁止在actionPerformed()里直接寫conn.prepareStatement(...)。// ? 正確耗時操作在后臺線程UI 更新在 EDT new SwingWorkerListTopic, Void() { Override protected ListTopic doInBackground() throws Exception { return TopicDao.findByMajorAndStatus(計算機科學, 待選); } Override protected void done() { try { ListTopic topics get(); // get() 在 EDT 中執(zhí)行 updateTable(topics); // 安全更新 JTable } catch (Exception e) { JOptionPane.showMessageDialog(null, 查詢失敗 e.getMessage()); } } }.execute();4.2 現(xiàn)象MySQL 中中文顯示為??但 Navicat 查看正常原因JDBC URL 缺少characterEncodingutf8mb4或 MySQL 服務端my.cnf中collation-server未設為utf8mb4_unicode_ci。即使數(shù)據(jù)庫、表、字段都是 utf8mb4JDBC 連接層默認用 latin1 解碼。解決在 JDBC URL 末尾追加characterEncodingutf8mb4useUnicodetrue并確認 MySQL 服務重啟后生效# 檢查 MySQL 當前編碼 mysql SHOW VARIABLES LIKE character_set%; mysql SHOW VARIABLES LIKE collation%; # 若 server 和 database 不是 utf8mb4修改 my.cnf 后重啟 [mysqld] character-set-server utf8mb4 collation-server utf8mb4_unicode_ci4.3 現(xiàn)象學生“選擇課題”后數(shù)據(jù)庫status字段仍為“待選”刷新界面不變原因JDBC 事務未提交。默認情況下Connection的autoCommit為true但若之前手動調用過conn.setAutoCommit(false)比如為實現(xiàn)“選題生成選題記錄”原子性后續(xù)忘記conn.commit()則所有 DML 操作在連接關閉時自動回滾。解決嚴格遵循“顯式開啟 → 執(zhí)行 → 顯式提交/回滾”流程用try-catch-finally保底Connection conn null; try { conn DatabaseConnection.getConnection(); conn.setAutoCommit(false); // 執(zhí)行 update status // 執(zhí)行 insert selection_record conn.commit(); // ? 必須顯式調用 } catch (SQLException e) { if (conn ! null) { try { conn.rollback(); } catch (SQLException ignored) {} } throw e; } finally { if (conn ! null) { try { conn.close(); } catch (SQLException ignored) {} } }4.4 現(xiàn)象JTable數(shù)據(jù)更新后界面不刷新或新行顯示在錯誤位置原因DefaultTableModel的addRow()方法必須在 EDT 中調用且不能在SwingWorker的doInBackground()里調用。更致命的是直接修改model.getDataVector()返回的Vector會破壞TableModel的事件通知機制。解決所有addRow()、removeRow()、setValueAt()必須在SwingWorker.done()或SwingUtilities.invokeLater()中執(zhí)行永遠不要碰getDataVector()// ? 正確通過 model 方法操作 DefaultTableModel model (DefaultTableModel) table.getModel(); model.setRowCount(0); // 清空 for (Topic t : topics) { model.addRow(new Object[]{ t.getId(), t.getTitle(), t.getTeacher(), t.getMajor(), t.getStatus() }); } // ? 錯誤直接改 Vector導致表格不刷新 Vector data model.getDataVector(); data.add(new Object[]{...}); // 不觸發(fā) fireTableRowsInserted()5. 真實可跑的最小可行系統(tǒng)3 個文件搞定登錄 選題 審核閉環(huán)一個畢業(yè)設計系統(tǒng)不需要 50 個類、2000 行代碼。我給學生定的硬性標準是核心功能登錄、查課題、選課題、審核能在 3 個 Java 文件里跑通且每個文件不超過 300 行。這逼著人聚焦本質——數(shù)據(jù)庫設計、SQL 正確性、事件流完整性。下面給出經過 2024 屆學生實測的精簡骨架復制粘貼即可編譯運行JDK 11MySQL 8.0。5.1 數(shù)據(jù)庫建表 SQL只保留最必要字段拒絕過度設計-- 創(chuàng)建數(shù)據(jù)庫 CREATE DATABASE IF NOT EXISTS thesis_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE thesis_db; -- 課題表 CREATE TABLE topic ( id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL, teacher VARCHAR(50) NOT NULL, major VARCHAR(50) NOT NULL, description TEXT, status ENUM(待選, 已選, 已審核) DEFAULT 待選, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); -- 學生表簡化版僅存學號、姓名、專業(yè) CREATE TABLE student ( id INT PRIMARY KEY AUTO_INCREMENT, student_id VARCHAR(20) UNIQUE NOT NULL, name VARCHAR(50) NOT NULL, major VARCHAR(50) NOT NULL ); -- 選題記錄表關聯(lián)學生與課題 CREATE TABLE selection ( id INT PRIMARY KEY AUTO_INCREMENT, student_id VARCHAR(20) NOT NULL, topic_id INT NOT NULL, status ENUM(待審核, 已通過, 已駁回) DEFAULT 待審核, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY (student_id) REFERENCES student(student_id), FOREIGN KEY (topic_id) REFERENCES topic(id) );為什么不用外鍵級聯(lián)畢業(yè)設計答辯時老師可能用 Navicat 手動刪數(shù)據(jù)測試邊界情況。ON DELETE CASCADE會導致刪除課題時連帶刪掉所有選題記錄掩蓋邏輯缺陷。顯式DELETE FROM selection WHERE topic_id ?才體現(xiàn)事務意識。5.2 登錄與角色路由用靜態(tài) Map 模擬用戶體系拒絕 Spring Security 復雜度// LoginDialog.java public class LoginDialog extends JDialog { private JTextField usernameField; private JPasswordField passwordField; private String role; // teacher, student, admin public LoginDialog(Frame owner) { super(owner, 用戶登錄, true); setLayout(new GridLayout(3, 2, 10, 10)); add(new JLabel(用戶名)); usernameField new JTextField(); add(usernameField); add(new JLabel(密碼)); passwordField new JPasswordField(); add(passwordField); JButton loginBtn new JButton(登錄); loginBtn.addActionListener(e - doLogin()); add(loginBtn); pack(); setLocationRelativeTo(owner); } private void doLogin() { String username usernameField.getText().trim(); String password new String(passwordField.getPassword()); // 簡化認證硬編碼模擬實際應查數(shù)據(jù)庫 if (admin.equals(username) 123.equals(password)) { role admin; } else if (username.startsWith(stu_) 123.equals(password)) { role student; } else if (username.startsWith(tea_) 123.equals(password)) { role teacher; } else { JOptionPane.showMessageDialog(this, 用戶名或密碼錯誤); return; } dispose(); // 關閉登錄框 new MainFrame(role); // 傳入角色初始化對應 Tab } }5.3 主程序入口30 行啟動代碼把 Swing、JDBC、MySQL 串成一條線// Main.java public class Main { public static void main(String[] args) { // 設置 Swing 全局字體解決 Win10 下中文模糊 try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeel()); Font font new Font(Microsoft YaHei, Font.PLAIN, 12); UIManager.put(Label.font, font); UIManager.put(Button.font, font); UIManager.put(TextField.font, font); } catch (Exception e) { e.printStackTrace(); } // 啟動登錄對話框 SwingUtilities.invokeLater(() - { LoginDialog dialog new LoginDialog(null); dialog.setVisible(true); }); // 驗證數(shù)據(jù)庫連接啟動時執(zhí)行一次 try (Connection conn DatabaseConnection.getConnection()) { System.out.println(? 數(shù)據(jù)庫連接成功 conn.getMetaData().getURL()); } catch (SQLException e) { JOptionPane.showMessageDialog(null, 數(shù)據(jù)庫連接失敗請檢查 MySQL 是否啟動、賬號密碼是否正確\n e.getMessage(), 連接錯誤, JOptionPane.ERROR_MESSAGE); System.exit(1); } } }關鍵技巧SwingUtilities.invokeLater()是 Swing 程序的黃金入口確保所有 GUI 創(chuàng)建都在 EDT 中UIManager.setLookAndFeel()用系統(tǒng)原生風格避免 Metal 風格在 Win10 上顯示異常啟動時主動getConnection()并捕獲異常比運行時彈窗更早暴露環(huán)境問題。6. 答辯加分項3 個讓老師眼前一亮的實戰(zhàn)細節(jié)不是炫技而是真懂答辯不是代碼朗誦會老師想看到的是你對技術選型的理解深度、對邊界條件的預判能力、對真實問題的解決痕跡。以下三個細節(jié)每個都能在 5 分鐘內講清楚原理、展示代碼、復現(xiàn)效果且全部來自真實畢設翻車現(xiàn)場——它們不增加功能但能讓老師篤定“這學生真的跑通了不是抄的”。6.1 細節(jié)一用JTable的TableCellRenderer實現(xiàn)狀態(tài)色塊比文字更直觀“狀態(tài)”字段只顯示“待選”“已選”太單薄。用TableCellRenderer為不同狀態(tài)渲染不同背景色既提升可用性又證明你理解了 Swing 的渲染機制。// StatusCellRenderer.java public class StatusCellRenderer extends DefaultTableCellRenderer { Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { Component c super.getTableCellRendererComponent( table, value, isSelected, hasFocus, row, column); String status (String) value; switch (status) { case 待選: c.setBackground(Color.LIGHT_GRAY); break; case 已選: c.setBackground(new Color(173, 216, 230)); // 淺藍 break; case 已審核: c.setBackground(new Color(144, 238, 144)); // 淺綠 break; default: c.setBackground(Color.WHITE); } return c; } } // 在創(chuàng)建 JTable 后設置 table.getColumnModel().getColumn(4).setCellRenderer(new StatusCellRenderer());為什么值得講這不是 CSS而是 Java 代碼對每個單元格的逐個繪制控制。老師會意識到你不僅會用JTable還知道它背后是TableCellRenderer接口且能定制實現(xiàn)——這比“用過 Spring Boot”更有說服力。6.2 細節(jié)二用JOptionPane的showConfirmDialog實現(xiàn)二次確認防誤操作“撤回選題”按鈕一點就刪太危險。加一層showConfirmDialog返回JOptionPane.YES_OPTION才執(zhí)行 JDBC 刪除這是最樸素的用戶保護意識。JButton withdrawBtn new JButton(撤回); withdrawBtn.addActionListener(e - { int result JOptionPane.showConfirmDialog( this, 確定要撤回該課題嗎此操作不可撤銷, 確認撤回, JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE ); if (result JOptionPane.YES_OPTION) { // 執(zhí)行 JDBC 刪除 selection 記錄 try { SelectionDao.deleteByStudentAndTopic( currentStudentId, selectedTopicId ); JOptionPane.showMessageDialog(this, 撤回成功); refreshTable(); // 重新加載 } catch (SQLException ex) { JOptionPane.showMessageDialog(this, 撤回失敗 ex.getMessage()); } } });答辯話術“老師這里我加了二次確認因為選題是關鍵業(yè)務操作。如果直接刪學生手滑點錯就無法恢復。用JOptionPane是最輕量的方案不需要引入額外框架也符合桌面應用的交互習慣?!?.3 細節(jié)三導出選題統(tǒng)計為 Excel用 Apache POI 而不是截圖答辯時老師常問“能導出數(shù)據(jù)嗎”截圖是下策用 Apache POI 生成.xlsx文件才是正解。只需 20 行代碼就能把JTable數(shù)據(jù)轉成 Excel且兼容 Office 和 WPS。// 導出按鈕事件 JButton exportBtn new JButton(導出統(tǒng)計); exportBtn.addActionListener(e - { try (XSSFWorkbook workbook new XSSFWorkbook(); FileOutputStream fileOut new FileOutputStream(選題統(tǒng)計.xlsx)) { XSSFSheet sheet workbook.createSheet(選題匯總); String[] headers {課題ID, 課題名稱, 指導教師, 專業(yè)方向, 選擇人數(shù)}; Row headerRow sheet.createRow(0); for (int i 0; i headers.length; i) { headerRow.createCell(i).setCellValue(headers[i]); } // 假設已有統(tǒng)計結果 ListStatItem ListStatItem stats ReportService.getTopicStats(); for (int i 0; i stats.size(); i) { Row row sheet.createRow(i 1); row.createCell(0).setCellValue(stats.get(i).getId()); row.createCell(1).setCellValue(stats.get(i).getTitle()); row.createCell(2).setCellValue(stats.get(i).getTeacher()); row.createCell(3).setCellValue(stats.get(i).getMajor()); row.createCell(4).setCellValue(stats.get(i).getCount()); } workbook.write(fileOut); JOptionPane.showMessageDialog(this, 導出完成選題統(tǒng)計.xlsx); } catch (IOException | SQLException ex) { JOptionPane.showMessageDialog(this, 導出失敗 ex.getMessage()); } });依賴添加pom.xmldependency groupIdorg.apache.poi/groupId artifactIdpoi-ooxml/artifactId version5.2.4/version /dependency我?guī)М呍O十年見過太多學生花兩周調通 Spring Boot Vue 前后端分離結果答辯時 Tomcat 突然報port 8080 already in use當場崩潰。而用 Swing JDBC MySQL 的學生往往在答辯前夜還在優(yōu)化GridBagLayout的insets參數(shù)第二天演示時雙擊 jar 包界面秒開SQL 日志清清楚楚老師問哪句 SQL 怎么寫的他打開TopicDao.java指著prepareStatement就能講。技術沒有高低只有是否服務于目標——畢業(yè)設計的目標從來不是造輪子而是證明你有能力把需求、代碼、數(shù)據(jù)、界面嚴絲合縫地擰成一股繩。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
免费福利视频中文字幕| 日韩操p| 在线亚洲欧美| 亚洲高清自拍| 亚洲一级特黄大片在线播放91| 欧亚在线视频| 亚洲中亚日激情视频| 中文字幕第2页| 伊人丝袜美腿高跟在线观看高清| 91痴汉| 夜精品久无码| 天天大干大香蕉| 天天色黄色影院天天操| 情色五月天久久久| 久久久日本电影| 制服乱伦| 97色亚洲| 爱做久久久久久| 亚州色图片在线色| 一本大道不卡一二三区| 四虎精品一区| 在线国产探花| 伊人久久亚洲色欲综合网站 | 玖玖97综合| 欧洲免费一区二| 熟妇女伦乱视频视频| 综合操逼| 国产成人主播| 婷婷五月天成人| 亚洲中文字幕av| α√在线| 亚州综合色| 欧美日韩国产中文超碰| 精品一区二区三区国产 | 五月天丁香网| 激情五月综合开心五月| 久久国模av| 多乙久久久久久| 久久妇| 色婷婷久久| 亚洲美女精品九九视频| 日韩AV一区二区三区四四| 亚洲综合色在线| 日日爽夜夜爽| 熟女探花啪啪| 中文字幕久久亚州无码| 久久99久久99精品免视看婷婷| 欧美性性性| 小明看看网址| 新婚人妻扶着粗大强行坐下| a片久久久久久久久久久久 | AV和黑人在线播放| 国产女主播视频在线观看| 青青草视频久久| 超碰在线人妻中文字幕| 国产深喉视频一区二区| 2019亚洲男人天堂| 嫩草黄页| 婷婷九月国产| 久久久中文版| 欧美精品偷拍| 伊人久久大香蕉线AV五月天| 色五月婷婷麻豆在| 在线观看av区| 天天综合色电影| 国产成人亚洲精品无码古代早漏男| 69精品| 亚洲在钱| 土豪酒店各种姿势玩弄极品幼稚| 91黑丝美女| 目产99999久久999| 有码免费观看| 韩国女主播青草在线| 9久久精品| 亚洲色宗合| 91性网| 四虎免费看黄| 蜜桃久久久久久| 中亚av| 国产精品经典一卡久久久| 97操97色| 久久99精品国产| 啊啊啊啊啊啊啊啊要喷了| 91精品久久久久久77777| 日本999精品视频| 试看福利| 欧美丝袜中文字幕07在线| 久久综合女优| 爱妻综合网| 色悠久久久av| 国产免费一区在线观看| 99re这里只有精品中心播放| 日韩精品操少妇| 国产激情在线| 日韩不卡毛片Av免费高清| 天天综合网国产| 久久精品99久久久久久| 久久精品国产亚洲AV高清演员表| 人人摸.人人色| 乱伦色图网址是多少| 国产欧美岛国精品一区| 91成人国产综合久久精品蜜月| 超碰97国产欧美| 老熟女搡BBBB搡BBBB视频| 小少妇| 欧美图片校园春色| 人人插人人摸人人| 麻豆九九九| 欧美日韩欧美| 啪啪啪综合网| 噜噜噜噜久久久精品免费| 5278欧美一区二区三区| 97天天操天天干| 欧美91在线| 手机看av网站在线看| 久久久久久久久久黄色网| 欧美激情专区| 操穴国产| 亚洲欧美日韩激情不卡| 伊人色综合网| 日日骚AV| 99久久99九九99九九九| 国产精品色| 久久久极品| 免费综合亚洲中文| 无码九九九九| 亚洲av青草久久一区二区| 欧美日韩在线视频网站| 日本一级特级毛片视频| 人人操av| 一卡二卡三卡| 国产九九九九九九九九| 亚洲熟女一区| 日韩精品国产一区二区| 五月婷婷综合激情| 亚洲国产丝袜在线观看| av在线观看不卡网站| 五月婷婷AV| 色视频蜜乳| 九九九九精品九九九九| 亚洲欧洲日韩天堂av| 九九九九九九九九九九九免费国产| 免费国产| 18禁超污无遮挡无码免费网| 张柏芝国产一区在线观看| 国产伦乱91| 91少妇通奸网站| 99久国产精品午夜性色福利| 伊人991| 性欧美999| 免费观看国产不卡av| 青草影院内射高潮| 精品黑人一区二区| 男女啊啊啊| 91 刺激在线| 免费成人自拍视频在线| 亚洲视频一二区| 亚洲九九九| 920日本午夜免费| 亚洲资源站| 欧美性特| 国产偷拍网站| 国产盗摄美女如厕大神作品在线观看| 女人被男人桶爽视频网站| 国产偷仑| 亚洲精品aa久久伊人| 涩亚洲欧洲| 丁香五月婷婷基地| 蜜臀无码视频在线观看| 刺激精品视频| 能直接看AV的网站| av网页一区二区三区| aaaa少妇高潮大片| 蜜臀99久久精品久久久久久| 国产一区96在线| 欧美日韩插逼视频| 蜜桃传媒视频第一区入口在线看| 伊人成人中文字幕久久网| 日韩一级二级三级免费看完整版| 久草在| 99操碰| 极品少妇久久久久| 中文字幕后石码四区五区| 韩美日操逼| 亚洲熟女乱综合一区二区三区| 亚欧国产无码精品在线| 午夜小电影在线插入淫高潮| 九九九九免费高| 色综合色色| 97天天操| 欧美亚洲清纯| 97久久精品亚洲中六字幕| 人人做人人妻人人夜视频| 亚洲狠| 久久国产视频专区一二三| 亚洲第一狼人丝袜美女另类 | 天天情欲宗合网| 九九性爱网| 国产精品人妻无码久久久老鸭窝 | 老色鬼成人精品视频下载大在线观看| 91精品国产综合久久久蜜臀| 欧美日韩国产色图在线| 亚洲骚男同com| 又大又白奶子| 久久精品国产亚洲AV片多多| 操逼视频亚洲| 高清在线不卡一区二区 视频| 久超碰这里只有精品| 亚洲熟妇乱女区二区三区| 欧美网站免费| 亚洲欧美一区二区网址| 男啪女色黄无遮挡免费观看| 伊人网高清| 天美传媒精品一区二区| 嗯啊不要在线| 激情五月天网| 国产在线76页| 色五月综合网| 五月天综合| 在线观看日韩av不卡| 国产乱色国产精品免费视| 爱爱啊啊啊| 欧美亚州综合网图片| 欧美成人国产精品| 91劲爆| 日日干夜夜骑| 啊啊啊轻点在线观看| 久久超碰98| 传媒免费一区二区三区| 亚洲日韩久久精品一区| 久久九操在线观看| 91网站在线播放| 啊啊啊久久久视频| 2020中文字幕在线| 精品视频一区二区| 亚洲 欧美 中文 日韩超碰 | 欧美日韩婷婷中文| 九九av| 亚洲自拍青操视频| 欧美性暴力| 97免费视频在线观看| 精品国产Av无码久久久伦古装| 97国产精品一区| 九九九九AV| 97天天摸天天爽| 亚洲精品九九九九九九| 变态另类专区| 亚洲 无码 偷拍| 久久久久久久九九九九九九| 91精品人| 操逼www.| 国产CHASE男男GAYGA 毛多色婷婷| 翔田千里av一区二区三区| 天天日B夜夜干B时时操B| 国产精品久久久久久久久久久久久久久| 大香蕉丝袜一级片| 日本一级一级一级一级| 少妇被玩视频二三区| 国内黄色精品| 亚洲视频,小说| 国产超碰人人操| 红杏大香蕉| 日本一二三高清| 情色五月天网| 岛国片在线播放| 日韩九区| 亚洲情色综合网| dy888午夜老子影视达达兔| 日韩操p| 久9视频| 国产AV色黄看到爽| 婷婷综合| 日本黄页视频在线观看| 在线观看亚洲成人精品| 97综合在线观看| 久艹99| 亚洲熟女乱色一区二区三区| 亚洲少妇喷视频看| 天天操福利视频综合网站| 国产成年女人免费视频播放a| 99热精品在线观看| 黄色免费网| 本道在线| 国产女人高潮嗷嗷嗷叫小说| 一区二区三区 丝袜 高跟 美腿| 日韩三级性| 国产精品爱欲| 97这里都是精品| 国产精品久久久啊| 骚逼高潮久久精品| 婷婷丁香人妻 | 欧美极品女人的天堂| 啊啊啊啊啊好舒服视频| 亚洲精品乱码线路中文字幕| 久久久久久久久国产| 精彩国产视频播放1区2区| 中文字幕AV中出| 91呆哥人妻| 九九超碰综合网| 久久社区一区二区三区| 色老牛| 91东京热男人的天堂| 天天看片天天爽| 久久香蕉国产线看观看亚洲女人| 亚欧韩av| 日产精品久久久一区二区| 午夜无码精品免费看性色| 亚洲欧洲无码一区夜| 天天插夜夜操| 大香蕉青青9| 日韩中文字幕人妻视频| 色偷偷综合91久久噜噜| 久久怡红院| 国产精品久久久久久久久久久久久久吹 | 亚洲AV在线资源| 国产成人亚洲精品无码古代早漏男| 亚洲日韩东京热一区| 天天搞在线综合网| 偷拍盗拍亚洲色图图片| 久久嫩草国产成人一区| 欧美系列在线一区二区| 欧美日韩小说| 99re6国产精品99re在线| 久夜视频| 天美传媒Av在线| 中国女人内射6XXXXX| 成人精品无码| 中文字幕乱码人妻一区二区三区,99精品| 超碰在线免费一区二区三区| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 色综合av男人天堂| 东京热毛片177b2viP| 超碰AV在线| 欧美加勒比| 91九九九馒头| 日韩av不卡在线看| 日韩欧美天堂| 91在线免费观看处女| 亚洲图片激情综合另类| 五月天婷婷社区| 成人在线视频二区| 偷窥自拍亚洲天堂网爆| 人妻少妇久久中文字幕一区二区 麻豆 | 巨爆乳肉感一区二区三区竹菊影视| 激情在线青青操| 第45页一区二区| 可以在线观看AV的网站| 欧美高清第一页| 色综合潮| 97人人射| 性在久久久久久| 亚欧洲日韩国产精品| 九月AV| 人妻22p| 999精品国产高清一区二区| 99re在线视频| 欧美日本天堂| 玖玖视频在线资源一区二区三区| 欧美一级久久久丰满| 日韩特一级久久| 欧美熟妇乱码在线一区| 六月激情网| 国产精品久久久久无码A√| 啊啊啊啊好疼| 日日干夜夜欢| 亚洲色图 图片| 亚洲男人天堂网久久| 国产精品久久伊人| 青草青草久热| 黄色电影在线播放综合网站| 亚洲色图欧美一区二区不卡| 懂色AV网| 亚洲第一页综合在线| 久久超碰免费的| 精品一区二区三区蜜桃臀赵总| 99精品成人免费看| 一级黄色性爱A级片| 99久久99久久免费精品蜜臀| 欧美色宗合| 五月婷婷六月激情| 色一色综合网| 色乱二区| 丝袜剧情| 艹比视频国产精品| 免费强奸av| 无码av永久免费专区网站| 人人操人人摸avav| 国内偷拍精品一区二区| 少妇久久久久久| 男人天堂资源| 亚洲综合电影| 久久男人的天堂| 九月伊人中文字幕| 精品78| 欧美色图20p| 亚洲无992tv| 91亚洲电影| 色悠久| 伊人久久AV诱惑悠悠| 天天操妹子| 色九久| 中文字幕在线观| 欧美色乱| 日韩av在线精品观看| 国产精品九九九| 国产欧美在线观看免费观看| 日本三级A片网站com| 欧美日产国产在线成人第一区| 欧美日产国产在线成人第一区| 伊人热综合| 干我久操| 99久久久er直播网址| A 天堂在线观看视频| 精品超碰国产| juliaann精品熟女一区| 日韩国产十八禁| 东京热不卡视频| 麻豆色约约| 天天综合-91入口| 亚洲精品 超碰| 日韩精品操少妇| 97在线欧| 亚洲āv网址在线观看| 日本黄色大片一级视频免费麻豆| 操逼网站视频漫画国产| 午夜天天碰综合视频| 青青草视频久久久久| 天天综合站| 亚洲天堂资源网| 国产精品原创巨作?v网站| 国产麻豆福利av在线播放| 五月天丁香网| 久久超碰大香蕉| 久久精品成人| AA级电影三区| 黑操B| 日韩资源网| 美女黄色91| 欧美一级AAAAAAA| 日韩一级欧美一级在线观看| 人妻日日夜夜精品| 97综合激情| 国产精品熟女九色九色蜜臀| 五月开心网| surenchaopeng| 东京热双插| 强奸乱伦大香蕉网| 久久av色| 东京热毛片177b2viP| 久草视频在线视频在线视频在线观看| 九九九久千久久激情蜜桃在线看 | 成人国产二区三区在线,男女精品。| 日韩在线国产字幕| 婷婷五月综合在线| 久草精品一区| 色婷婷九月天天综合| 日韩欧美中文字幕搭讪巨乳美人妻视频| 黄片www视频免费| 日韩色| 嗯嗯啊啊操死我| 超碰97伊人| 操操逼操操逼操操逼逼| 精产国品一区二三产品| 久操视频在线观看| 殴美性色a级欧美| 久久r精品| 国产www色在线观看| 91在线限制级| 国产亚洲色婷婷久久99精品91 - 百度| 日韩性爱视频免费在线| 最新9久久久9免费视频| 久久综合国产精品国产| A啊啊在线观看| 国产黄色剧情影片麻豆免费播放| 色综合91| 极品色| 99热99re超碰精品| 视频不卡中文字幕| 欧美嫩性色| 中文字幕三四五区| 国产按摩一区二区三区| 少妇高潮九九九九| 亚洲色五月| 欧美性第1页| 亚洲福利中文字幕在线| 久久久九九| 亚洲āv网址在线观看| 精品性爱| 亚洲国产剧情少妇激情| 在线a亚洲视频播放在线| 久久大香蕉手机高清| 无码人妻一区二区三区免费九色| 九九无码久久精品视频| 综合久久久久久久久91| 有码色中文字幕在线观看| 国产精品麻豆免费视频| 久久中文字幕女同性恋一区| 亚洲熟妇丝袜在线观看| 第一高清av中文字幕| 精品人妻视频一区二区三区蜜桃视频| 伊人丁香五月婷婷| 欧美色图在线视频少妇| av片在线观看免费播放| 97天天日| 欧美日韩青操| 色色色999| 亚洲在线欧美| 欧美999999| 欧美性巨大╳╳╳╳╳高跟鞋| 国产精品一区二区后入| 久热最新在线杭州| 综合色啪| 東南亚性呦成人伦理资源在线视频| 亚洲男人天堂AV| 亚洲双插| 日本乱人伦片中文三区| 丝袜人妻av一区二区| 日韩乱中文 | 中国一级αV| 青草成人免费视频一COm| 91亚州| www久| 97伦乱| 97在线视频免费看| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 在线中文字幕视频| 狠狠操使劲操| 精品人妻1区| 国产精品亚洲一级av第二区| 8050午夜少妇无码| 91亚州日韩高清| 欧美精品偷拍| 偷拍亚洲情色| 超碰78| 琪琪精品免费一区二区三区 | 日本精品一区二区不卡| 3PAV乱伦视频| caoni国产亚洲av| 婷婷激情啪啪| 97精品综合久久网| 亚洲97超碰| 天天操夜夜嗨| 日本狠狠干| 粉嫩国产精品久久久| 麻豆a'v电影| 国产日韩久久| 日本国产成人亚洲精品无码| 大香蕉中文在线| 99999精品成人| 亚洲婷婷五月天| 久久久一区二区三区三州| 一级毛片久久久久久久女人18| 综合熟妇一区二区三区| 欧美性爱综合,免费| 日韩无码服务区| 冬京热男人的天堂| 日韩草久视频| 一起草AV| 涩涩五月天| 在线看免费无码AV天堂的| 尤物网址| 中文字幕日韩精品久久| 在线有码中文字幕| 91香蕉视频在线观看免费| 毛片久久| 日韩成人无码| 一区二区三区美女超清| 亚洲一区二区三区春色| 日韩成年人性爱视频| 天天做天天爱| 好属操| 一起草高清无码| 天天综合网91| 人妻少妇久久中文字幕一区二区 麻豆 | 午夜视频黄| 国产乱伦搜索结果91P| 超碰在线一区二区| 视频一区二区免费在线| 久区视频| av天堂精品久久| 国产传媒1234区| 欧美不卡五十路| 2001天天操| 伊人网高清| 天天日天天色| 99re视频在线播放青草| 亚洲福利中文字幕在线| 欧美性性性| 国产免费永久精品无码| 亚洲精品97久久中文字幕| 欧美精品亚洲精品日韩传电影| 亚洲综合性网址| 91丨国产丨白浆秘 洗澡动漫| 五月婷婷色| 欧美熟妇色| 开心五月激情网| 蜜桃臀av一区二区| www.色婷婷.com| 国产美女自拍视频| 91视频国品一二三区| 久久久久久久9| 亚洲日韩AV视色| 啊啊啊免费| 国产乱人妻精品入口| 欧美在线 亚洲| 天美av在线| 高清孕妇孕交 交孕妇| 91精品微拍福利| 久久国模av| 能直接看AV的网站| 大香蕉伊人75| 啊啊啊啊好疼| 亚洲天堂精品日韩电影| h4610国产人妻| 日本色婷婷| 和协影院中文字幕三区| 欧美激情专区| 国产精品久久久久久 百度| 一区在线观看中文字幕| 欧日韩一二三f区| 国语对白露脸XXXXXX | 综合伊人网12色| 日本国产欧美一区三区二区| 91天天日| 亚洲人成色9999精品久久| 性欧美体内射精| 久热精品在线| 久热在线精品免费观看| 久久香蕉国产传媒一区剧情天美| 中文熟女五十乱码在线| 欧美日本成人一区二区| 国内精品久久久久影院亚洲| 久草精品国产蜜臀| 天干天干天干天天做| 婷婷综合激情| 青娱乐老司机视频| 亚洲久草AV色图| 操我啊啊啊啊啊| 天天操天天日天天干| 天天日天天插| 欧洲成人性爱视频| 女性91网站| 操死我了啊啊啊| 九九九九88| 牛牛aV| 亚洲av青草久久一区二区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 丝袜美腿制服人妻二区中文字幕| 视频不卡中文字幕| 男人的天堂无码| 欧洲中文字幕| 五月丁香成人网| 韩三级a视频在线观看| 中文有码9| 日韩欧美天天爽爽爽天天爽爽| 玖色AV| 日韩性爱电影一区| 男女猛烈无遮掩视频免费软件| 大香蕉草草| 操国产逼| 95人妻爽爽人人做人人澡| 天天影视91看看| 91粉嫩萝控精品福利网站_精品影音先锋国 | 成人无码专区精品视频| 国产成人精品午夜福利| 97天堂| 欧美熟女激情| 亚洲?V无码专区在线电影| 日韩超碰精品综合| 国产高清精品一区二区三区毛片| 日韩电影天堂视频一区二区| 在线综合色| 天操天操夜操夜月月年年操操| 久久精品国产亚洲AV片多多| 桑老女人九区| 欧美不卡在线美女| JIZZJIZZ亚洲女人被躁| 亚洲精品骚逼| 大香蕉久| 9I1性色影院| 久久黄色网址| 青青草乱入乱欲视频在线观看| 亚洲密乳AV| 中文字幕在线第二页| 十八禁视频网站| 搡老女人老91妇女老熟女| 亚洲A色| 日韩色| 99在线观看视频在线高清| 中亚av| 国产隔壁老王影院在线| 东北操逼| 日韩欧美麻豆大片| 国产一区在线观看无码AV| 好爽要喷了| 久久久艹艹艹| 中文字幕成人理论在线| 熟女精品日韩一区二区三区| 大香蕉在线免| 大香蕉丝袜一级片| 一个国产在线综合网站| 欧美丝袜亚洲| 97视频在线观看高清资源| 人妻日日干| 欧美乱伦专区| 999九九九九国产动| 一区二区激情国产熟女 | 亚洲精品亚洲人成在线麻豆| AV中亚| 91AV天美在线视频| 久久久久国产亚洲一区欧美色图日韩| 日韩欧美中文日韩欧美色| 久久区| 99福利社| 欧美色图成人网一区二区| 成人97人人超碰人人| 爽极品影院| 亚洲国产一区二区三区四区国产| 性色av婷婷久久一区二区点复制| 9 9精品一区二区三区| 久久久久久久久久久久久久久性生活视频 | 日韩成人小视频| 屁股久久久久久久久久| 9国产超碰| 黄色大香焦1级‘′‘| 五月丁香色综合| 日韩在线人妻网站| 免看60秒涩涩视频| 蜜臀99久久| 强奸乱伦大香蕉| 欲色综合| 人人性爱视频免费| 久久精品中文字幕无码l| 日韩欧美视频青青| 丰满精品人妻少妇久久字幕| 综合亚洲网| 亚洲黄色视频在线观看视频| 欧美日韩国内不卡| 国产视频三区四区| 日本最新1区2区3区| 中文字幕熟女人妻丝袜| xxx0国产在线播放| 大香蕉伊利av| 国产精选三级在线观看| 日本人妻最新在线中| 欧美亚洲今日在线| 精品国产乱子伦一区二区三区,精品一| 欧美综合传媒| 麻豆乱码久久精| 死我十八禁| 18禁止看精品中文字幕| 国产欧美亚洲精品a第2页| 91最新综合| 欧美拳交在线播放| 激情干在线| 黄色高清无码无码破解免费暗网 | 欧美精品成人亚洲| 婷婷情色综合网| 亚洲中文国际强奸字幕| 18禁看网站一区| α√在线| 收看日本人日bb| 操逼逼一区视频| 一道α片欧美| 日韩欧美午夜一区二区| 人妻无一区二区三区| ,成人免费啪啪视频| 国产精品久久久无码aV去| 亚洲码在线中文在线观看| 日欧操屄| 日本一区二区三区四区五区六区七区八区九区| 国产高清在线观看欧美| 色欧美亚洲| 中文字幕人妻丝袜乱一区三区| 久久婷婷伊人| 啊啊啊啊啊啊好湿好爽视频| 蜜桃臀 后入 一区 二区 三区 在线| 亚洲日韩精品在线播放| 欧美日韩国产传媒在线精品| 成人日韩中文字幕| 午夜人妻精品综合在线| 国产九区| 亚洲色系另类精品国产| 青青草伊人久久| 国产精品久久久| 青青草视频久久| 久久九九97| 欧美国产日韩高清在线| 久久精品99| 久久一区二区三区入口| 成年人一级黄色毛片大全在线观看| 18岁禁 茉莉成人久久| 激情五月天中文字幕色| 操人妻丝袜高跟| 日本色日夜干| 亚洲美乱| 综合网亚洲| 香一区二区三区| 国产精品午夜AV完会免费 | 精品国产乱码久久久影院| 牛牛aV| 亚洲素人综合| 99ri视频| 大香蕉综合网| 麻豆久久久久久久久丝袜 | 青草综合| 乱论91| 久久五月份| 日韩八十路老熟女| 久操精品| 亚洲色图综合| 国产激情久久| 蜜臀无码视频在线观看| 蜜伊人色综合97| 飘花国产午夜精品不卡| 精品性爱一二三区| 日韩精品第3页| 日本国产高清色www视频在线| 亚洲色棕合| 26uuu国产| 91欧美大片| 亚洲AV永久无码一区仙野| 超碰在线国产| 啊啊啊啊啊啊啊网址在线观看| 干超碰碰熟女| 99热超碰| 中文字幕av一区二区三区人妻少妇 | 国产精品大屁股999| 人人操人人干xxx| www.久久| 亚洲欧美国产精品久久久久久久| 国产精品亚洲天堂网址| 日本不卡高清免v欧美日韩在线观看| 91美女视频直播| 手机在线视频国内精品| 亚州色图欧美| 人人操人人爽人人操人人| 日韩熟妇二区| 亚洲Av诱惑| 久热伊人| 啊啊啊啊嗯嗯在线久久久| 韩日无码在线观看| 日韩淫色网| 91久久精品中文字幕| 色九九九综合| 岛国激情视频在线观看| 一区| 亚洲精品毛片在线观看| 日本色婷婷| 欧美日韩97| 人妻天天爽| 东北女人av| 国模吧 一区二区三区| 人妻精品视频一区二区三区| 中文字幕无码不卡啪啪| 久久做97| 东京热,男人的天堂| 日本999精品| 国产欧美美女免费观看视频| 日韩精品1区2区中文字幕| 五月亭亭六月丁香| 欧美日韩制服| 亚洲色图欧美色图制服诱惑| 97网址www| 久久五月婷| 国产精品久久久无码AV网站| 亚洲伊人久久精品影院| 欧美页片| 久操视频免费在线观看| 亚洲AV成人无码一区二区三区在线观看 | 草草影院最新网址| av亚欧| 日本久久超碰| 午夜操一视频一区| 国产久久久久影院老熟女| 日韩精品人妻系列无码天堂| 中文字幕在线观看丝袜| 黄色高清无码无码破解免费暗网| 麻豆国产视频精品观看| 亚洲综合另类| 欧美日韩另类在线| 福利五区| 成人影 天天操 亚洲| 影音先锋视频在线| 97亚洲自在精品在线观看| 6080YYY午夜理论片在线观看| 大学生美女口爆| 五十路三区在线| 亚洲综合伊人无码久久| 91亚洲丝袜熟女| 国产人人干| 久久精品高清无码一区| 日韩字幕一区| 精品美女少妇一区二区三区| 久久婷婷影院| 欧美亚洲第一页| 老熟女天天操| 欧洲乱码视频| 色五月激情网| 久久国产性爱| 色欧洲| 尤物视频新赏网鲜网色诱网| 亚洲一二三精品久久网 | 97色插| 午夜理论片在线观看免费| 亚洲精品少妇| 国产AV人人夜夜澡人人爽麻豆| 极品色社| 国产做?爰片久久毛片?片美国| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 欧美熟妇亚洲版| 日韩AV片| 久久男女激情视频网站| 亚洲无码太久| 久久婷婷国产一区二区色| 国产性久久久| 国产精品不卡av免费在线观看| 国产午夜福利合集| 亚洲天堂人人妻| 91暧暧| 小少妇| 去干网最新版| 综合 欧美 亚洲 日本| 麻豆久久一区二区三区| 人人摸人人干| 另类av天堂| 嗯嗯嗯啊啊啊干死我吧| 91青青在线| 97欧美视频| 久综合国内精品自在自线| 日韩欧美中文| 思思热一热婷婷热一热| 欧美亚洲涩涩| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | 欧洲在线性爱视频| 亚州男人天堂| 欧美综合站| 日韩精品人妻系列无码天堂| 伊人 俄罗斯 a v| 人妻色情天天操| 视频不卡中文字幕| 国产日韩欧美操逼视频| 国产综合操逼高清| 国产日韩精品一区二区三区| 97精选久久| 久久久四区| 久久黄色视频一区二区三区| 激情小说五月天| 草久久久| 亚洲无码一区成人免费午夜| 欧洲黄色网| 国产精品一区二区黄片| 亚洲AV资源| 干美女人妻| 伊人网免费视频| 日韩乱插| 97操B| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 精品无码一二三四区| 中国熟妇| 手机在线视频国内精品| 亚洲图片 91| 校园春色家庭伦理欧美激情| 日本一区二区亚洲综合| 国语av狠狠色丁香婷婷综合激情| 一本色道久久综合狠狠操| 91中出在线| 中文字幕第2页| 久久AV无码AV| 看大黄色大片原件| 日韩,欧美,中文在线| 激情四射五月天| 天天色香欲综合网| 91jk色拍| 国产女人高潮嗷嗷嗷叫小说| 干婷婷综合网| 志村玲子视频一区二区| 国产人伦精品一区二区三区| 亚洲人91| 麻豆亚洲AV成人无码久久精品| 69视频入口| 国产 亚洲 丝袜 制服| 色婷视频| 欧美熟爽综合| 人人搞人人插人人操| 伊人午夜福利视频| 欧美姓爱综合网| 久久受www免费人成| 色久桃花影院在线观看| 99热精品在线播放| 亚洲天堂第一页| 一摸二插三插| 国产午夜精品理论片a大结局| 综合 欧美 亚洲 日本| 激情综合亚洲| 国产成人主播| 97国产|免费| 日本人妻伦在线中文字幕| 一区二区三区精品久久| 亚洲情色一区综合| 人妻另类| 欧美的性爱网站免费| 国产激情综合| 国产乱人妻精品入口| 久久有碼| 可以免费看黄片的视频| 人人操天天爽| 1769一区| 久久综合精品一区二区三区| 1769成人国产精品视频| 狠狠躁AV| www.av家庭乱伦| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 中亚黄色三级大片| 日韩亚洲中文字幕在线| 男人的天堂在线| 成年人性爱日韩| 国产熟女自拍| 欧美国产日韩高清在线| 三及片网站| 精品少妇后入一区二区三区四区人妻巨乳 | 国产亚洲精品自在线亚洲情侣| 精品二区三四区五电影 | 麻豆色约约| 狠狠干狠狠色| 久久国产精品m码| 亚洲国产精品乱码在线观看| 免费观看日本操逼视频| 大香蕉伊人在线成人AV在线观看 | 台湾佬中文娱乐网久久久久久久久久com | 色婷婷狠狠18禁| 日韩久久.一级黄色片| 一区二区三区日韩欧美| 日韩激情视频| 一区二区三区国产在线播放 | 强奸乱伦AV一天堂网| 青青青艹在线视频| 日本精品不卡一二三区| 大香蕉十区| 亚欧美色图| 欧美日韩激情无码专区| 天天天乱色综合全| 欧美福利视频啊啊啊啊| www.欧精品| 久久久久九九九九| 最新加勒比丝袜在线| 久久精品店| 69精品在线| 欧美性爱第1 页| 男人天堂站| 五月丁香六月综合缴清无码| 国产农村妇女精品1区二区| 97视频在线免费观看| 欧美熟爽综合| 青娱乐福利99| 国产青视频| av天堂天堂av日韩| 超碰欧美在线欧美| 亚洲 国产 精品一区| 色哟哟精品1精品2| 国产精品自产拍在线观看社区| KK色在线影院| 色色热| 超碰欧美| 国产a级精品| 中文字幕,人妻,日韩| 国产亚洲色婷婷99精品91| 青娱乐国产盛宴视频| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 白丝AV| 鸥美精品一区二区久久婷婷| 中文字幕日韩精品久久| 欧美色日| 久久精品99| 久久香蕉超碰97国产精品| 人人天天干干| 热无码中文亚洲H一道本一区二区| 精品人妻一区二区三区不卡断 | 国产精品黄色三级av| 久久精品国产亚洲av水密被窝| 夜夜福利| 最新加勒比丝袜在线| 丰满人妻大屁一区二区| 超碰免费人妻人人| 青娱乐黄色录像| 久久久久极品| 欧美久久婷婷| 91女在线观看| 五月婷婷综合在线| 日本五十路熟女一区二区| 国产黄色小视频网站| 偷拍亚洲| 最新制服中文第一页| 校园春色家庭伦理欧美激情| 自拍视频大全亚洲专媒视频/一区二区三区| 亚洲精品男人的天堂| 第一高清av中文字幕| 18禁美女裸体无遮挡啪啪| 国产一区二区成人av在线播放| 熟女精品日韩一区二区三区| 2020中文字幕在线| 色5月婷婷| www亚洲免费| 日韩pv中文| 尹人免费观看视频在线| 日韩天天本| 日本中文字幕在线电影| 天美精品原创av片国产| 97bbn| 久久久久久亚洲精品不卡人乳| 国产家庭乱伦表演| 四虎884| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 大香蕉淫人| 久久久国产精品人妻丝袜| 国产视频一区二区免费| 中英熟女操女| 90后后入| 天天日天天屌天天操| 亚洲 日本 一 二 三| 国产精品探花视频| A级片日韩欧美国产欧美视频精选观看 | 久久综合18p| 岛国片在线观看视频亚洲| 国产最火爆久久国产网站网站| 色色九区| 91麻豆天美国产欧美高潮| 青娱乐蜜桃臀AV色婷| 欧州色图区| 狠狠爱综合| 人妻人人做人人澡人人爽欧美一区| 国产成年女黄特黄| 97色综合中文网| 蜜桃臀一区二区三区久久| 吉川爱美亚洲二区在线 | 欧美一区二区成人一卡| 色五91| www.超碰| 久久五月视频| 亚洲砖码砖专无区2023| 国产性爱在线视频一区二区| 欧美乱伦专区| 九九九色| 三久久久四久久久久| 日韩性色| 男人天堂导航| 色与欲影视天天看综合网| 久久视频,这里只有精品| 伊人aaa| 九九国产热| 999九九精品| 亚州 综合 色图| 国产精品午夜成人福利| 色眯眯射| 色婷婷婷五月天激情四射| av亚洲天堂资源网站| 5252色欧美在线| 女人一区| 日韩精品人妻中文字有码在线| 美女黑人91神马|