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

ARTICLE DETAIL

資訊詳情

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

Java校園博客系統(tǒng):Spring Boot 3.2教學實踐方案

Java校園博客系統(tǒng):Spring Boot 3.2教學實踐方案 簡介本資源是一份面向計算機專業(yè)本科生與Java初學者的畢業(yè)設計類實踐文檔聚焦校園博客系統(tǒng)的設計與實現(xiàn)全過程解決高校師生知識分享、學習記錄與互動交流的實際需求。文檔以Word格式.docx完整呈現(xiàn)共1個文件大小4.91MB內容涵蓋技術選型JavaSpring BootMySQLTomcat、系統(tǒng)可行性分析、功能與業(yè)務流程梳理、模塊化功能結構設計、數(shù)據(jù)庫E-R圖及數(shù)據(jù)表字段設計、前后臺核心功能實現(xiàn)細節(jié)含管理員、博主、前臺首頁以及系統(tǒng)測試方案與結論結構嚴謹、章節(jié)完整具備直接參考與復用價值。目前已有62人學習下載適合用于課程設計參考、畢設開題與技術方案借鑒尤其利于理解Web應用從需求分析到部署落地的全周期開發(fā)邏輯。1. 為什么一個“校園博客系統(tǒng)”值得用 Java 重做一遍——不是為了炫技而是解決真實教學場景里的三類斷層你見過學生交的博客作業(yè)Word 文檔里貼截圖、手寫 URL、用郵箱附件傳.zip老師批改靠 Excel 打分表評論寫在 Word 批注里反饋周期動輒一周課程群每天刷屏“老師我的博客打不開”“數(shù)據(jù)庫連不上”“登錄后跳回首頁”沒人知道是前端路由錯、Session 失效還是 MySQL 8.0 默認認證插件不兼容。這不是開發(fā)能力問題是教學系統(tǒng)與工程實踐之間存在三道斷層需求斷層學生要交作業(yè)不是建 SaaS、部署斷層機房只裝 JDK 17 Tomcat 9不配 Docker、維護斷層畢設答辯完代碼就進回收站沒人管半年后的 Spring Boot 版本升級。這個“基于 Java 的校園博客系統(tǒng)”不是又一個 CRUD 演示項目它是把 Java 工程能力壓進教學閉環(huán)的最小可行載體用Spring Boot 3.2做骨架MyBatis-Plus 4.3自動生成建表 SQL 和基礎 CRUDThymeleaf 3.1渲染純 HTML 頁面避開 Vue/React 學習成本所有功能跑在單臺 Windows Server 上學生 clone 后改兩行配置就能本地啟動老師導出 WAR 包扔進機房 Tomcat 就能開課。它不追求高并發(fā)但必須扛住 200 人同時提交作業(yè)的瞬時壓力它不玩微服務但每個模塊用戶、文章、評論、權限都按真實項目分包它甚至預留了“教師后臺一鍵清空學生數(shù)據(jù)”的按鈕——因為每學期初真有老師需要重置整個班級的博客空間。如果你正帶 Java 課程設計、指導畢業(yè)設計或想給實訓平臺加個可交付的練手項目這個系統(tǒng)就是那塊“墊腳石”不高但剛好夠到工程落地的門檻。2. 從零搭起骨架用 Spring Boot 3.2 MyBatis-Plus 4.3 初始化項目并生成基礎表結構2.1 創(chuàng)建項目并確認 JDK 與依賴版本的硬性約束校園環(huán)境對運行時版本極其敏感。機房服務器普遍為 Windows Server 2016預裝 JDK 17LTS而部分老教師電腦仍用 JDK 11。Spring Boot 3.x 要求最低 JDK 17因此必須放棄 JDK 11 兼容性這是第一個技術取舍。創(chuàng)建項目時使用 start.spring.io 注意選 Spring Boot 3.2.x非 3.3勾選以下依賴Spring WebSpring Data JDBC非 JPA因 MyBatis-Plus 更適配教學場景的 SQL 可視化Lombok減少樣板代碼學生易理解Thymeleaf服務端渲染避免前端框架學習負擔Validation校驗學生注冊郵箱、密碼格式提示不要勾選 Spring Security。校園系統(tǒng)需“教師賬號擁有全站權限學生僅能管理自己博客”用自定義攔截器比 Security 配置更直觀也方便學生 debug 權限邏輯。生成 ZIP 后解壓用 IDEA 打開。關鍵一步檢查pom.xml中 MyBatis-Plus 版本是否為4.3.02023 年底發(fā)布支持 Spring Boot 3.2且TableName注解默認開啟駝峰轉下劃線省去手動配置。若版本不符強制覆蓋dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-spring-boot3-starter/artifactId version4.3.0/version /dependency2.2 用 MyBatis-Plus 逆向工程生成實體類與建表 SQL三步完成數(shù)據(jù)庫初始化學生最怕“建表語句寫錯導致整個項目崩”。MyBatis-Plus 的AutoGenerator可根據(jù) Java 實體類反向生成建表 SQL這才是教學友好型方案。我們先定義核心實體類以BlogPost為例// src/main/java/com/example/campusblog/entity/BlogPost.java import com.baomidou.mybatisplus.annotation.*; TableName(blog_post) // 顯式指定表名避免自動轉 blog_post public class BlogPost { TableId(type IdType.AUTO) // 主鍵自增MySQL 用 AUTO_INCREMENT private Long id; TableField(user_id) private Long userId; // 關聯(lián)學生 ID TableField(title) private String title; TableField(content) private String content; TableField(create_time) private LocalDateTime createTime; // 使用 LocalDateTime非 Date TableField(status) // 0-草稿, 1-已發(fā)布, 2-已刪除 private Integer status; // getter/setter 省略Lombok Data 已覆蓋 }關鍵點在于TableField顯式標注字段名禁止依賴駝峰自動轉換——因為學生常把createTime寫成create_time或createtime顯式聲明能杜絕歧義。接下來編寫代碼生成器放在src/test/java下僅用于初始化// src/test/java/com/example/campusblog/generator/CodeGenerator.java import com.baomidou.mybatisplus.generator.FastAutoGenerator; import com.baomidou.mybatisplus.generator.config.OutputFile; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; import java.util.Collections; public class CodeGenerator { public static void main(String[] args) { FastAutoGenerator.create(jdbc:mysql://localhost:3306/campus_blog?serverTimezoneAsia/ShanghaiuseSSLfalse, root, 123456) .globalConfig(builder - { builder.author(teacher) // 作者名生成代碼時寫入注釋 .outputDir(src/main/java); // 生成到 src/main/java }) .packageConfig(builder - { builder.parent(com.example.campusblog) // 包名前綴 .moduleName(entity) // 模塊名影響子包路徑 .pathInfo(Collections.singletonMap(OutputFile.xml, src/main/resources/mapper)); // XML 映射文件位置 }) .strategyConfig(builder - { builder.addInclude(blog_user, blog_post, blog_comment) // 只生成這三張表 .entityBuilder() .enableLombok() // 啟用 Lombok .naming(com.baomidou.mybatisplus.generator.config.NamingStrategy.underline_to_camel) // 數(shù)據(jù)庫下劃線轉駝峰 .controllerBuilder() .enableRestStyle(); // 生成 RESTful 風格 Controller }) .templateEngine(new FreemarkerTemplateEngine()) // 使用 Freemarker 模板 .execute(); } }執(zhí)行main()方法后自動生成BlogUser.java,BlogPost.java,BlogComment.java實體類BlogUserMapper.java,BlogPostMapper.java接口含insert,selectById等方法BlogUserMapper.xml,BlogPostMapper.xml含insertselect標簽BlogUserController.java,BlogPostController.java帶RestController的空殼參數(shù)說明serverTimezoneAsia/Shanghai是必須項否則LocalDateTime字段插入 MySQL 會報時區(qū)錯誤useSSLfalse因校園內網(wǎng) MySQL 通常未配 SSL強行開啟會導致連接失敗addInclude明確限定表名避免生成無關表如flyway_schema_history。2.3 運行生成器后獲取建表 SQL 并手動執(zhí)行為什么不能直接schema.sqlMyBatis-Plus 不提供“一鍵建庫建表”功能但生成器輸出的 XML 文件中insert標簽內的 SQL 是可讀的。更可靠的做法是用 HikariCP 連接池 spring.sql.init.modealways加載初始化腳本。在src/main/resources/application.yml中添加spring: sql: init: mode: always schema-locations: classpath:schema.sql >-- src/main/resources/schema.sql CREATE TABLE IF NOT EXISTS blog_user ( id BIGINT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL, role TINYINT DEFAULT 0 COMMENT 0-學生, 1-教師, create_time DATETIME DEFAULT CURRENT_TIMESTAMP ); CREATE TABLE IF NOT EXISTS blog_post ( id BIGINT AUTO_INCREMENT PRIMARY KEY, user_id BIGINT NOT NULL, title VARCHAR(200) NOT NULL, content TEXT NOT NULL, status TINYINT DEFAULT 1 COMMENT 0-草稿,1-已發(fā)布,2-已刪除, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, INDEX idx_user_id (user_id) ); CREATE TABLE IF NOT EXISTS blog_comment ( id BIGINT AUTO_INCREMENT PRIMARY KEY, post_id BIGINT NOT NULL, user_id BIGINT NOT NULL, content VARCHAR(500) NOT NULL, create_time DATETIME DEFAULT CURRENT_TIMESTAMP, INDEX idx_post_id (post_id) );為什么不用MapperScan自動建表因為MapperScan只掃描 Mapper 接口不執(zhí)行 DDL。而schema.sql在應用啟動時由 Spring JDBC 自動執(zhí)行且IF NOT EXISTS保證重復啟動不報錯——這對學生反復重啟項目至關重要。3. 讓學生真正“交作業(yè)”實現(xiàn)博客發(fā)布流程與教師后臺審核鏈路3.1 學生端從登錄到發(fā)布三步完成一篇博客含富文本與圖片上傳校園博客不需復雜編輯器。用summernote輕量級 jQuery 富文本即可它支持圖片拖拽上傳且 JS 文件僅 300KB。在src/main/resources/templates/user/dashboard.html中引入!-- src/main/resources/templates/user/dashboard.html -- link hrefhttps://cdn.jsdelivr.net/npm/summernote0.8.18/dist/summernote.min.css relstylesheet script srchttps://cdn.jsdelivr.net/npm/summernote0.8.18/dist/summernote.min.js/script div classform-group label博客內容/label textarea idcontent-editor namecontent classform-control/textarea /div script $(document).ready(function() { $(#content-editor).summernote({ height: 300, toolbar: [ [style, [bold, italic, underline]], [insert, [picture, link]] ], callbacks: { onImageUpload: function(files) { sendFile(files[0]); // 調用自定義上傳函數(shù) } } }); }); function sendFile(file) { var formData new FormData(); formData.append(file, file); $.ajax({ url: /api/upload/image, type: POST, data: formData, processData: false, contentType: false, success: function(url) { $(#content-editor).summernote(insertImage, url); // 插入圖片 URL } }); } /script后端接收圖片的 Controller 必須處理MultipartFile并保存到src/main/resources/static/upload/目錄靜態(tài)資源目錄圖片可直接通過 HTTP 訪問// src/main/java/com/example/campusblog/controller/UploadController.java import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.core.io.Resource; import org.springframework.core.io.UrlResource; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; RestController RequestMapping(/api/upload) public class UploadController { private final Path rootLocation Paths.get(src/main/resources/static/upload); PostMapping(/image) public String handleFileUpload(RequestParam(file) MultipartFile file) { try { if (file.isEmpty()) { return ; } // 生成唯一文件名時間戳 原文件名 String timestamp LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyyMMddHHmmss)); String filename timestamp _ file.getOriginalFilename(); Path destinationFile this.rootLocation.resolve( Paths.get(filename)) .normalize().toAbsolutePath(); // 確保目錄存在 if (!this.rootLocation.toFile().exists()) { Files.createDirectories(this.rootLocation); } Files.copy(file.getInputStream(), destinationFile); // 返回可訪問的 URL注意static 目錄下文件路徑為 /upload/xxx.jpg return /upload/ filename; } catch (Exception e) { e.printStackTrace(); return ; } } }關鍵細節(jié)return /upload/ filename是硬編碼路徑因為src/main/resources/static/是 Spring Boot 默認靜態(tài)資源目錄無需額外配置即可通過http://localhost:8080/upload/xxx.jpg訪問。學生寫博客時插入的圖片 URL 就是這個地址避免使用file://協(xié)議瀏覽器安全限制或絕對路徑部署后失效。3.2 教師端審核列表與一鍵操作用 Thymeleaf 渲染動態(tài)表格教師后臺首頁/admin/posts展示待審核博客列表。MyBatis-Plus 分頁查詢 Thymeleaf 表格渲染代碼簡潔且易調試// src/main/java/com/example/campusblog/controller/AdminController.java GetMapping(/admin/posts) public String listPendingPosts(Model model) { PageBlogPost page new Page(1, 10); // 第 1 頁每頁 10 條 QueryWrapperBlogPost wrapper new QueryWrapper(); wrapper.eq(status, 0); // 只查草稿狀態(tài) wrapper.orderByDesc(create_time); PageBlogPost resultPage blogPostService.page(page, wrapper); model.addAttribute(posts, resultPage.getRecords()); model.addAttribute(page, resultPage); return admin/post-list; // 對應 templates/admin/post-list.html }post-list.html中用 Thymeleaf 渲染表格!-- src/main/resources/templates/admin/post-list.html -- table classtable table-striped thead tr th標題/th th學生/th th提交時間/th th操作/th /tr /thead tbody tr th:eachpost : ${posts} td th:text${post.title}示例標題/td td th:text${post.user.username}張三/td td th:text${#dates.format(post.createTime, yyyy-MM-dd HH:mm)}2024-05-01 10:20/td td a th:href{/admin/post/{id}/publish(id${post.id})} classbtn btn-success btn-sm發(fā)布/a a th:href{/admin/post/{id}/reject(id${post.id})} classbtn btn-danger btn-sm退回/a /td /tr /tbody /table發(fā)布操作只需更新status字段// src/main/java/com/example/campusblog/controller/AdminController.java PostMapping(/admin/post/{id}/publish) public String publishPost(PathVariable Long id) { BlogPost post blogPostService.getById(id); if (post ! null post.getStatus() 0) { post.setStatus(1); // 1-已發(fā)布 blogPostService.updateById(post); } return redirect:/admin/posts; }為什么不用 REST API AJAX因為教師可能用老舊 IE 瀏覽器機房常見AJAX 兼容性差而redirect是最穩(wěn)妥的頁面跳轉方式且 Thymeleaf 模板天然支持服務端渲染學生 debug 時直接看 HTML 源碼就能理解數(shù)據(jù)流向。3.3 權限控制用攔截器實現(xiàn)“學生只能看自己的博客教師看全部”不引入 Spring Security改用HandlerInterceptor實現(xiàn)細粒度控制。創(chuàng)建AuthInterceptor// src/main/java/com/example/campusblog/interceptor/AuthInterceptor.java import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; public class AuthInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HttpSession session request.getSession(false); if (session null || session.getAttribute(user) null) { response.sendRedirect(request.getContextPath() /login); return false; } String uri request.getRequestURI(); BlogUser user (BlogUser) session.getAttribute(user); // 學生不能訪問 /admin/ 開頭的路徑 if (uri.startsWith(/admin/) user.getRole() 0) { response.sendError(HttpServletResponse.SC_FORBIDDEN, 無權限訪問管理員頁面); return false; } // 學生訪問 /post/{id} 時校驗該博客是否屬于本人 if (uri.matches(/post/\\d) user.getRole() 0) { Long postId Long.parseLong(uri.substring(uri.lastIndexOf(/) 1)); BlogPost post blogPostService.getById(postId); if (post null || !post.getUserId().equals(user.getId())) { response.sendError(HttpServletResponse.SC_FORBIDDEN, 無權查看他人博客); return false; } } return true; } }在WebMvcConfigurer中注冊// src/main/java/com/example/campusblog/config/WebConfig.java import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; Configuration public class WebConfig implements WebMvcConfigurer { Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new AuthInterceptor()) .excludePathPatterns(/login, /register, /css/**, /js/**, /images/**); } }攔截器 vs FilterFilter 在 Servlet 容器層面無法直接獲取 Spring Bean如blogPostService而HandlerInterceptor在 Spring MVC 攔截鏈中可注入 Service適合業(yè)務邏輯判斷。這是教學場景下的合理降級——用更易懂的機制替代復雜框架。4. 避坑指南學生部署時最常遇到的 4 個致命問題與血淚解決方案4.1 現(xiàn)象本地啟動成功但部署到機房 Tomcat 后頁面空白控制臺無報錯原因Spring Boot 3.x 默認打包為jar而機房 Tomcat 要求war包且jar包內嵌 Tomcat 與外部 Tomcat 沖突。解決修改pom.xml將打包方式改為warpackagingwar/packaging排除內嵌 Tomcatdependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-tomcat/artifactId scopeprovided/scope !-- 交給外部 Tomcat 提供 -- /dependency主類繼承SpringBootServletInitializerSpringBootApplication public class CampusBlogApplication extends SpringBootServletInitializer { Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(CampusBlogApplication.class); } public static void main(String[] args) { SpringApplication.run(CampusBlogApplication.class, args); } }用mvn clean package -DskipTests生成target/campus-blog-0.0.1-SNAPSHOT.war丟進Tomcat/webapps/即可。4.2 現(xiàn)象學生注冊時提示“郵箱格式錯誤”但輸入studentschool.edu.cn仍失敗原因Email注解默認正則過于嚴格不支持中文域名或長后綴如.edu.cn。解決自定義校驗注解或改用Pattern// 在 BlogUser 實體類中 Pattern(regexp ^[a-zA-Z0-9._%-][a-zA-Z0-9.-]\\.[a-zA-Z]{2,}$, message 郵箱格式不正確請輸入如 studentschool.edu.cn) private String email;玄學經(jīng)驗正則末尾{2,}允許任意長度頂級域名比Email的硬編碼列表更包容校園郵箱。4.3 現(xiàn)象教師后臺點擊“發(fā)布”后博客狀態(tài)沒變刷新頁面仍是草稿原因blogPostService.updateById(post)更新時MyBatis-Plus 默認只更新非null字段而post對象中userId,title等字段為null因只設置了id和status導致 SQL 中SET status?被忽略。解決兩種方案任選其一方案 A推薦用LambdaUpdateWrapper顯式指定更新字段LambdaUpdateWrapperBlogPost wrapper new LambdaUpdateWrapper(); wrapper.eq(BlogPost::getId, id).set(BlogPost::getStatus, 1); blogPostService.update(wrapper);方案 B在BlogPost實體類中為所有字段添加TableField(fill FieldFill.UPDATE)并在MetaObjectHandler中填充但教學場景過于復雜不推薦。4.4 現(xiàn)象圖片上傳后顯示 404URL 是/upload/20240501102030_xxx.jpg但瀏覽器打不開原因src/main/resources/static/upload/目錄在打包成war后路徑變?yōu)閃EB-INF/classes/static/upload/而 Tomcat 默認不將WEB-INF下的資源設為靜態(tài)可訪問。解決在application.yml中顯式配置靜態(tài)資源路徑spring: web: resources: static-locations: classpath:/static/,file:./upload/然后修改上傳代碼將圖片保存到項目根目錄的upload/文件夾而非src/main/resources/static/upload/private final Path rootLocation Paths.get(./upload); // 改為相對路徑這樣./upload/位于 Tomcat 的webapps/ROOT/同級天然可被 HTTP 訪問。5. 讓系統(tǒng)“活”過一個學期教師后臺的批量操作與數(shù)據(jù)快照技巧5.1 教師一鍵清空全班博客用 MyBatis-Plus 的remove方法安全擦除每學期初教師需要重置學生博客空間。與其手動刪庫不如在后臺加個按鈕。在AdminController中添加PostMapping(/admin/clear-all-posts) public String clearAllPosts() { // 刪除所有博客軟刪除status2 UpdateWrapperBlogPost wrapper new UpdateWrapper(); wrapper.set(status, 2) // 標記為已刪除 .ne(status, 2); // 避免重復操作 blogPostService.update(wrapper); // 清空評論 UpdateWrapperBlogComment commentWrapper new UpdateWrapper(); commentWrapper.set(status, 2) .ne(status, 2); blogCommentService.update(commentWrapper); return redirect:/admin/dashboard; }對應前端按鈕!-- 在 admin/dashboard.html 中 -- form action/admin/clear-all-posts methodpost button typesubmit classbtn btn-danger onclickreturn confirm(確定清空所有博客和評論此操作不可撤銷) 清空全班博客 /button /form為什么用軟刪除status2而非物理刪除因為教師可能誤點物理刪除后無法恢復而軟刪除只是標記狀態(tài)SQL 查詢時加WHERE status ! 2即可過濾且保留數(shù)據(jù)用于期末統(tǒng)計如“本學期共提交博客 1200 篇”。5.2 生成學期數(shù)據(jù)快照用SELECT ... INTO OUTFILE導出學生博客為 CSV期末歸檔時教師需要導出所有已發(fā)布博客為 Excel。MySQL 原生命令SELECT ... INTO OUTFILE可直接生成 CSV比 Java 導出更高效-- 在 MySQL 客戶端執(zhí)行需 FILE 權限 SELECT u.username AS 學生姓名, p.title AS 博客標題, p.content AS 博客內容, p.create_time AS 發(fā)布時間 INTO OUTFILE /var/lib/mysql-files/campus_blog_export.csv FIELDS TERMINATED BY , OPTIONALLY ENCLOSED BY LINES TERMINATED BY \n FROM blog_post p JOIN blog_user u ON p.user_id u.id WHERE p.status 1;注意/var/lib/mysql-files/是 MySQLsecure_file_priv參數(shù)指定的安全目錄不能隨意改路徑導出后教師用scp或遠程桌面復制該文件到本地用 Excel 打開即為標準 CSV。5.3 防止學生“刷分”用 Redis 記錄每日發(fā)布上限有學生為拿高分一天發(fā) 20 篇博客。在BlogPostController的發(fā)布接口中加入限流// src/main/java/com/example/campusblog/controller/BlogPostController.java Autowired private RedisTemplateString, Object redisTemplate; PostMapping(/post/publish) public String publishPost(RequestBody BlogPost post, HttpSession session) { BlogUser user (BlogUser) session.getAttribute(user); // 限流每天最多 3 篇 String key post_limit: user.getId() : LocalDate.now(); Long count redisTemplate.opsForValue().increment(key, 1); if (count 3) { model.addAttribute(error, 今日發(fā)布次數(shù)已達上限3 篇); return user/dashboard; } redisTemplate.expire(key, 1, TimeUnit.DAYS); // 設置 1 天過期 // 正常發(fā)布邏輯... post.setUserId(user.getId()); post.setStatus(0); // 先存草稿 blogPostService.save(post); return redirect:/user/dashboard; }Redis 部署建議校園機房可安裝 Windows 版 Redis微軟維護的redis-windows內存占用僅 10MB比數(shù)據(jù)庫計數(shù)更輕量。若無 Redis退化為數(shù)據(jù)庫計數(shù)SELECT COUNT(*) FROM blog_post WHERE user_id? AND DATE(create_time)CURDATE()但性能稍差。5.4 我的習慣每次課程更新前用 Git Tag 鎖定教學版本我?guī)У?Java 課程每年迭代但不同屆學生用的系統(tǒng)版本必須一致。我的做法是每學期初在 GitHub 倉庫打 Tag如v2024-spring給學生文檔明確寫“請 clonegit clone -b v2024-spring https://github.com/yourname/campus-blog.git”所有application.yml中的數(shù)據(jù)庫密碼、Redis 地址等敏感配置用application-dev.yml單獨存放并加入.gitignore最后把v2024-springTag 對應的 ZIP 包上傳到學校教學平臺供學生直接下載。這看似多一步卻避免了“學生用最新版代碼結果 Spring Boot 升級到 3.3JDK 17 不兼容”的翻車現(xiàn)場。工程能力的第一課不是寫多炫的算法而是讓代碼在別人機器上穩(wěn)穩(wěn)跑起來。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情另类综合| 只有精品视频在线观看| 六月综合婷婷开心伊人| 婷婷激情社区| 激情婷婷丁香五月| 99九九久久| 欧美情色一区| www.夜夜操| 秋霞九九无码| 色偷偷五月天| 99综合视频| 99这里只有精品|v| 五月丁香六月婷婷的女人| 在线播放中文字幕| 91美女被操| 婷婷五月天天| 男人的天堂婷婷色五月| 99视频| 五月天婷综合| 日日操夜夜撸| 天天噜| 欧美va| 丁香五月天啪啪| 1024欧美日韩精品久久久| 成人做爰A片免费看视频| 激情99| 激情婷婷五月基地| 99久热这里有精品| 91碰免费视频| 天天爱天天天射AV| 婷色五月| 五月婷婷丁香91| 五月丁香成人网| 99热成人在线观看| 久久九九99.www| 偷拍91九色| 停停六月 综合| 99精品久久| 五月丁香六月| 日本久热| www.99色| 99热综合| www,99热在线观看| 超碰免费电影| 久久一级片| 丁香五月色情av| 日本精品人妻无码77777| 婷婷激情四射| 黄网在线免费观| 国产成人精品一区二三区熟女在线 | 色婷婷文字幕| 日韩av在线免费观看| 亚洲色99综合天堂| 九九热精品99| 日本a片网址| 色欲久久综合| 极品 少妇 内射| 五月天成人在线视频丁香| 亭亭五月丁香综合欧美| 五月四色婷婷| 狠狠摸狠狠摸| 亚洲热视频| 玖玖色综合| 亚洲亚洲人成综合网络| se.久久视频在线观看| 五月婷婷丁香网| 中文字幕婷婷在线| 亚洲婷婷视频| 色五月婷婷色五月| 超碰在线成人| 亚洲人成播放网站| 激情综合国产| 婷婷激情蜜桃玖玖丁香| 五月丁香六月婷婷啪啪| 亚洲精品99| 色五月五月婷婷| 狠狠干婷婷| 免费无码毛片一区二区A片| 精品人妻一区二区三区在| 性做爰A片免费视频A片直播 | 五月综合色播播丁香婷婷| 少妇人妻凹凸视频| 色婷婷www| www色五月| AA片在线观看视频在线播放| 激情AV中文| 色色色在线观看| 色吧综合网| 婷婷亚洲激情在线观看视频 | 激情六月丁| 五月婷婷五月天| 亚洲人妻av| 成人国产欧美大片一区| 婷婷五月天丁香社区| 欧洲永久精品| 日韩色五月| 五月开心网| AV中文网| 99激情网| 99视频九九热| 99青青草99| 99九九热视频| 婷婷色爱| 婷婷天堂伊人| 99热久久最新地址| 人妻精品一区二区三区| 久久五月婷婷丁香| 色婷婷激情五月天| 丁香五月婷婷图片综合| 日本色婷婷五月天成人电影| 另类专区在线| 光棍影院日韩精品| 日韩视频99| 天天干 夜夜爽| 婷婷五月在线影院| 管管補管管紱| 国产日比| 婷婷第六色| 激情丁香五月天图片| 欧美婷婷| 久久激情视频| 丁香婷婷六月天| 超91热| 另类亚洲2| 久久思思热视频| 亚洲色网络| 9热久久| www.操逼comm| 亚洲成人无码专区| Va另类视频| 97天堂| 最新日韩久热免费视频看看| 丁香婷婷五月| 婷婷丁香综合| 激情六月天| 波多婷婷久久| 亚洲第一第二网站| 九 九九九AV| 另类图片 五月激情| 婷婷五月综合社区| 色色色干| 久久丁香五月| 亚洲无码成人性爰网| 色色99| 99久热在线精品| 天天干电影| 五月色亭丁香| 射久久丁香五月| 色五月婷婷伊人| 色婷婷丁香五月综合| 免费做A爰片77777| 丁香成人色情五月天| 噼里啪啦完整版中文在线观看 | 大香蕉久久综合网| www.狠狠艹| 96精品国产综合久久久久久| 五月天开心网| 99综合视频一体| 色色色图| 97av在线视频| 九色PORNY9l原创自拍| 中文资源在线a | 夜丁香五月婷婷| 色呦精品| 色色色婷婷| 182TV亚洲| 日本色99| 狠狠干五码| 91久久久久| 五月草影视| 97成人超碰免| 久久九九色| 天天上天天爽| 久久人视频| 九九热精品| 婷婷久久免费| 国产乱子轮XXX农村| 大香蕉院线| 日韩AV在线电影| 色婷婷丁香五月| 婷婷色播婷婷| 超碰免费人人肏| 五月天婷婷成人网| 思思99热| 99在线观看精品视频| 五月婷婷色播| 狠狠婷婷色综合| 欧美丁香婷婷五月天| 色九月国产| 五月综合无码| 激情五月丁香六月| 开心丁五月| 色色色九九九五月婷婷| 色色日本| 亚洲色婷婷| 超碰国产在线| 加勒比日本一区二区三区| 色五月琪琪| 99热日本| 这里都是精品99| 丁香花社区av| 日本色婷婷| 色婷婷五月综合网| 五月天婷亚洲综合在线嫩草网| 五月婷A V在线| 综合婷婷五月天| 都市激情久久| 色综合久久99色| 无码激情AAAAA片-区区| 婷婷深爱五月| 五月天婷婷綜合院| 五月丁香激情婷婷| se色婷婷视频| 久久怡红院| 热99AV网站| 久久久婷婷婷| 色爱99| 欧美黑人巨大性生话| 99精品小视频| 久久人妻系列| 九九亚洲小视频| 日本三级中文字幕| 六月丁香婷婷色狠狠久久| www.91久久| 先锋资源91| 婷婷丁香五月综合激情小说| 俺也去综合| 久久色情| 久久婷婷五月天懂色| 日本三级第一页| 99综合视频| 色婷婷超碰| 懂色AⅤ| 免费国产VA国产免费| 久久久久激情网| 国产黄色在线| 欧美熟女视频 色婷婷| 激情综合网五月婷婷| 99热这里精品| 天天草天天爽| 91丨九色丨熟女丰满| 色狠狠色噜噜噜a天堂一区| 任你艹| 五月天婷婷AV| 五月丁香好婷婷A片网| 涩综合婷婷| 激情五月婷婷在线| 色偷偷色婷婷| 99毛片| 色婷婷久久综合久色综| 久久五月天综合| 婷婷五月天激情基地| 激情亚洲婷婷六月| 综合一本道| 国产色99| 991精品在线视频| 亭亭玉月丁香| 成人丁香五月| 少妇AB又爽又紧无码网站| 99色热| 亚洲综合色色色| 中文字幕黄色片| 日本视频99| 伊人在线视频| 99在线小视频| 欧美成人AAA片一区国产精品| 少妇人妻人伦A片| a在线观看| 99热官网| 色婷婷精| 日本99在线| 久久9精品| 婷婷激情五月| 丁香五月天殴美激情| 久久99热免费| 九九99一区| 婷婷六月天激情| 五月天婷综合| 中文字幕按摩做爰| 成人短视频免费| 婷婷色中文| 伊人狠狠丁香婷婷综合尤物| 思思99精品视频在线观看| 五月天影院婷婷在线观看| 九九操综合网| 91视频一起草| 婷婷激情啪啪| 亚洲综合视频网| 久久久18| 在线看AV| 色噜噜狠狠色综| 5月婷婷综合| www.五月丁香av| 色色色色av色色色色| 夜夜资源站| 中文字幕成人| 亚卅毛片| 婷婷中文网站| 思思热精品免费视频| 如何安全看伊人婷婷| 激情av在线| 人人摸人人| 九九色欲网| 色色色五月婷婷| 色婷婷在线电影| 久久五月婷婷丁香| 97好吊操| 五月丁香综合网| 爱狠射| 久婷五月| 狠狠的日| 色一色综合| 久久精品4| 五月丁香在线国产| 天天天天天天操| 免费观看日韩成人av| 成人av中文字幕| 久久久精品人妻| 日韩三级视频一区二区| 天天色天天爱天天舔| 色色a| 97精品人人A片免费看| 欧美人人女女精品综合五月天| 婷婷 久综合| 中文AV网| 变态另类色图| 伊人日日干| 97视频.干com| 99亚洲精美视频在线观看| 婷婷五月天激情综合婷婷五月天激情综合| 色婷婷www| 色色草97| 婷婷色狠狠| 婷婷伊人| 激情综合网络插| 九九热re99re6在线精品| 少妇高潮呻吟A片免费看软件| 91丨九色丨白浆| 五月婷综合网| AV操一操| 五月天婷婷婷| 99色在线观看视频者| 97丁香花五月天激情小说| 99热99美国在线观看| 6 9式性爱视频在线播放| 丁香五月婷婷六月婷| 99久久99九九九99九他书对| 色婷婷中文在线| 色婷婷电影网| 色娸娸综合网| 色99自拍| 亚洲综合视频网| 色婷婷亚洲在线观看| 日日狠夜夜狠| 狠狠色丁香久久综合婷婷亚洲成人福利| 99热国产这里只有| 久久久国产精品黄毛片| 日日做天天操夜夜爽| 五月综合色| 99在线精品视频观看免费下载| 丁香五月综合激情性爱| 久久刺激网| 91色涩| 啪啪六月婷婷| 夜夜爽天天爽| 五月天三级| 亚洲精品无AMM毛片| 狠狠88综合久久久久噜噜噜| 91打屁股免费看| 久久机只有这里精品| 亚洲网在线观看| 色狠狠图片| 色五月 婷婷, 大香蕉| 丁香婷婷五月六月天| 噜噜狠狠色综无码久久合欧美| 91久久精品无码一区二区三区| 99免费在线视频| 久久久久久激情| 99热9| 伊人久久婷婷| 99re这里有精品手机在线| 日韩久久成人| www.夜夜操.com| 国产9色在线/日韩| 六月丁香网| 六月色色婷婷| 五月天开心色情网| 五月婷婷色丁香| 免费视频1区| 99在线小视频| 九九家庭影院| 五月丁香综合久久夜夜| 色色色色色色色色综合网| 色欲婷婷夜夜| 77777亚洲午夜久久| 五月天开心色情网| www久热com| 先锋资源91| 97在线精品| 79色色色色| av色婷婷| 日逼影音先锋AV男人资源站| 色色色99| 婷婷综合成人| 毛片新网地| 婷婷午夜综合| 九九热123| 激情深爱五月天| 五月天激情综合首页| 亚洲狠9| 夜色综合网| 久久只有精品| 久久婷婷网站| 伊人大香久久| 老美AA片| 99ri在线视频| 91热在线| 五月婷婷在线免费观看 | 欧美日本一区二区三区| 超碰av在线| www日本熟妇99在线视频| www,com,五月色色| 五月婷导航| 91九色精品熟女内射| 9色小视频在线观看| 婷婷五月色| 99热这| 色插综合网| 久天综合| 九九中文字幕九| 亚洲V国产V欧美V久久久久久| 荷兰av一级| 色五月视频无码播放| 五月婷婷深深爱| 五月婷婷av在线| 五月婷婷中文字幕| 激情六月婷婷| 色久影院| 婷婷激情人妻| AⅤ色区| 久久hd| 午夜成人AV在线| 99干日日干| 日日撸夜夜操| 120分钟婬片免费看| 婷婷五月丁香基地| 操射国产日本| 色五月丁香在线| 99亚洲综合| 亚洲国产成人在线| 久久性视频| 97人妻碰碰碰久久| 婷婷丁香五月色偷偷| 偷拍丁香九月激情| 99@久久@99精品视频| 办公室少妇激情呻吟A片在线观看| 五月婷婷六月天| 色综合五月| 精品久久人妻| 色色a| www.久热| 婷婷久久五月天丁香| 色噜噜狠狠色综合日日| 丁香五月最新地址| 操碰97| 欧美日综合| 91干视频| 日本天天色| 丁香五月天色婷婷| 国产JK精品白丝AV在线观看| 国产成人精品一区二三区熟女在线 | 噜噜网免费视频| 天天做天天爱天天爽| 超碰成人在线观看| 日韩AAAAA| 色色com| 久久xx| 风流少妇A片一区二区蜜桃| 国产伦亲子伦亲子视频观看| 丁香婷婷狠狠97| 久久综合五月情| 久久电影五月天丁香电影| 99久热视频在线| 丁香9月婷婷| 激情五月丁香色色去久久| 亚洲午夜Av| 操逼视频一区| 婷婷爱综合| 婷婷久久国产视频| 婷婷五月天亚洲综合| 开心激情网五月天| 婷婷射丁香| 99热思思| 99久久婷婷精品视频| 99热很操老逼| 碰碰91| 五月婷婷五月天激情视频| 人妻videos人妻高清| 天天爽日日爽夜夜爽| 五月性色| 嫩草AV久久伊人妇女超级A| 婷婷操无码| 九月久久婷婷| 婷婷深爱五月亚洲综合| 色婷婷五月色| 激情五月天久久| 人操人| 欧美日本VA| 国产成人AV人人爽人人澡Va| 大香蕉人人人| 婷婷五月天 偷拍| 26uuu另类亚洲欧美日本一| 天天做天天爽| 日本精品人妻无码77777| 丁香五月婷婷激情完整版| 狠狠色狠狠| 内射激情在线| 97福利视频| 色婷婷很很十八禁| 性五月激情| 婷婷综合色五月天| 99热婷婷| 婷婷99中文字幕| 丁香五月天激情综合网| 日本久久天堂| 久热99久热| 亚洲无码成人性爰网| 伊人久久婷婷| 9精品视频在线| 婷婷美女精品视频| 五月色网| 999九九九久久久99HD| 色五月丁香五月五月婷婷| 九九视频这里只有精彩| 欧美韩国日本| 5月婷婷视频网站综合| 亭亭五月丁香五月天激情| 无码日本精品XXXXXXXXX| 天堂色色色| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | CHINESE熟女老女人HD视频| 久久综合色五月| 九九热视频免费的| 欧美电影在线播放| 五月婷婷深深的爱| www色五月| 以及AA大片看看| 日韩色色视频| 99久久精品国产色欲| 精品久久久久久久久久久久人妻| 欧美成人精品三区综合A片| 久久婷婷网| rr天天操| 激情五月婷婷啪啪| 丁香五月另类小说| 婷婷94s| 操逼123网| 色婷婷久久| 91碰视频| 婷婷色五月激情| 色播五月综合网| 婷婷五月亚洲一本在线丁香| 97成人视频| 丁香五月开心五月激情| 天天干天天日蜜臀av| 色综合xx| 成人无码髙潮喷水A片| 99自拍网| 久久人妻久久| 狠狠色婷婷7| 婷婷五月色播放| 色婷婷导航| 色五月综合激情| 在线色色| 色五月综合网| http://www.lingjunshare.com/| 色婷婷狠狠禁18久久| 天天射射夜| 免费看欧美成人A片无码| 日韩六六久久电影| 精品视频网| 国产密乳av一区二区三区四区| 色综啪啪啪啪啪啪| 免费啪啪亚州视频| 色五月xxx| 天天日夜夜| 26uuu国产精品| 99超碰欧美| 五月婷婷,六月丁香| 九九久久精品國產| 五月丁香婷婷综合网| 久久综合99| 五月婷丁香| 欧美97p| 久久综合五月| 在线观看亚洲视频影院| 色婷婷综合网| 亚洲色色香蕉| 五月丁香六月激情综合| 婷婷综合| 国产激情综合五月久久| 九九色综合| 成人无码精品1区2区3区免费看| 密乳视频| 婷婷五月天奸女| 色五月综合网| 九九热在线观看视频| 99网址在线看| 99精品偷自拍| 综合网激情| 亚洲婷婷视频| 色色色1网址| 久久精品性爱| 人妻精品久久久久久| 日熟女| 99热| 五月婷婷色播| 亚洲色情激情丁香五月| 五月丁香色婷基地综合久久| 亚洲日韩乱码一区二区三区四区| 丁香五月成人婷婷| 五月丁香色狠狠干大屄| 国产成人av在线播放| 97 天堂| 狠狠狠狠狠狠色| 色青青视频| 99玖玖免费视频| 99久久66综合| 久久久www| 狠狠色综合五月| 久久五月丁香婷婷| 怡红院91a√| 婷婷五月成人| 97碰在线| 色综合伊人网| 五月香六月婷| WWW.久久.COM| 免费观看亚洲AV片| 五月激情六月宗合| 视频这里只有精品16| 色三级色三级| 91日精品| 99热综合在线观看| 强壮的公次次弄得我高潮A片日本 | 色婷婷五月综合| 五月久久噜噜| 五月婷婷在线短视频| 综合玖玖偷拍| av一区二区电影免费在线观看| 色综合色综合网| 五月丁香花视频| 六月丁香色婷婷| 五月婷成人网| 五月丁香婷婷综合在线| 色婷婷综合网站| 六月婷婷综合久久| 色情五月天。| 日本九九网| 九九99热精品| 国产在线网址1| 河北真实伦对白精彩脏话| 激情综合五月婷婷| 五月天色不卡| 婷婷五月天综合网| 99色色视频| 99精品久久久久久久婷婷| 狠狠操天天干| 99ri视频在线播放| 香蕉婷婷色五月| 激情图片五月天| 色色性爱视频| 日本美女五月天| 99这里都是精品6| 丁香五月婷婷色情综合| 久久性爱视频网站| 色色五月婷婷久久| 色六月婷婷| 五月婷中文字幕| 第四色激情网| 99爱爱| 丁香五月电影| AV成人在线网站| 99热有精品在线观看| 99秘 在线| 丁香六月婷婷综合麻豆| 亚洲另类婷婷五月综合| 五月婷婷狠狠干| 综合五月丁香六月婷婷| 激情五月婷婷| 97综合在线| 色色网站在线| 国产露脸150部国语对白| 狠狠婷婷色| 色婷婷狠狠18yy| 婷婷五月天丁香久久| 性爱七区| 婷婷五月天丁香花| 爱草视频在线观看| 99亚洲精品视频| www999日韩精品| 丁香五月社区| 操91综合网| 丁香六月激情综合网| 天天综合久久| 99久久a线观| 丁香五月在线观看完整版| 高清无码入口| 婷婷久久五月| 狠狠色噜噜狠狠亚洲A∨| 操操自拍| 亚洲综合干| 日本婷色| 亚洲综合五月天| 日韩人人操| 亚洲无码播放| 99热色在线精品| 综合色五月天| 激情综合网激情五月婷婷| 一本九九色| 亚洲欧美婷婷五月色综合| 五月天婷五月天综合网在线观| 天天爽天天做| 五月在线| 伊人青涩网| 99re在线视频精品,这里只有精品18,| 日日做天天操夜夜爽| 99玖玖在线视频| 中文字幕有多少字| 爱射综合| 五月激情站| 乱岳熟女50岁| 日本久热| 五月天综合婷婷| 五月天婷婷色色| 欧美色色色色色色色色色色| 五月天婷婷影院影院| 99自拍视频| 人操人| 高清无码一区二区三区四区| 99这里有精品视频| 日本九九九九九九| 激情五月天小说视频| 三级黄网站| 亚洲热久| 国产玖玖资源| 九九在线热九九在线热99热| 日韩欧美五月丁综合| 色五月激情五月开心五月| 亚洲欧洲另类图片| 久久视频这里都是精品| 激情五月综合| 五月天婷综合| 97热超碰| 色情免费视频播放| 99国产精品久久久久久久久久久| 婷婷五月电影院| 天天透天天爱| 国产亚洲99久久精品熟女| 婷婷丁香五月婷婷| 熟女啪啪视频| 日韩成人无码| 国在线激情网| 色情综合网| 日本九九网| 久草热视频在线观看| 六月婷婷毛片| 先锋男人99资源| 中字幕视频在线永久在线观看免费| 伊人色综合影院视频| 亭亭玉月丁香| 欧美激情伊人| www.天天干| 丁香婷婷久久综合在线| 午夜激情五月天| av网站免费在线| 这里只有精品视频一区| 免费碰碰视频久| 色色网站免费观看| 久热伊人91| 五月色网| 96色婷婷| 人人摸人人摸| 久久hd| 99亚洲视频| 日本WWW九九九| 欧美久久网| 大香蕉久艹| 婷婷久久色| 色五月无码| 日本狠狠干| 色婷五月丁香久亚洲| 被强行糟蹋的女人A片| 激情影院免费视频婷婷五月天| 99在线精品免费视频| 亚洲性图一区二区| 五月婷婷,六月婷婷| 99爱精品| 99色在线| 日日噜噜夜夜狠狠久久丁香五月| 深爱激情六月| 色噜噜五月天| 性色五月天| 丁香婷婷人妻综合网| 五月天久久色| 看片视频在线免费日产在线看| 婷婷五月天激情电影| 日韩AV大全| 五月人妻婷婷| 激情婷| 啪啪综合网| 狠狠干2007| 日韩天堂久久| 天天做夜夜爽| 影音先锋人妻出差| 亚洲不卡欧洲| 五月天开心网| 综合五月丁香六月婷婷| 碰碰91| 91妻人人爽人人看片| 婷婷五月天综合久久| 伊人色综合影院视频| 无码少妇高潮喷水A片免费| 色色色.COM| 97碰人人操| 婷婷五月天激情网| 久久这里只有精品视频15 | 九色无码| 五月丁香六月| 色色亚洲五月天| 狠狠爱综合网| 99九九精品视频| 永久地址 色| 色深爱五月| 九九99免费理论| 欧美性生交xXxX久久久| 婷婷五月天电影网| 免费日韩99| 色婷久| 激情综合五| 久草a片| 综合五月天天天天天五月| 蜜臀av粉嫩av懂色av| 国产欧美熟妇另类久久久| 99视频只有精品| www.狠狠操.com| 亚洲成人av在线| 综合在线观看99| 色色色色色色色色综合网| 欧美va在线| 综合色天天| 久久大香蕉同僚| 九一九九黄色| 怡红院AV亚洲一区二区三区H| 日本美女上人| 亚洲综合色色| ss99热| 五月色婷婷在线观看| 久热丁香| www.久操| 激情综合网激情五月婷婷| 丁香六月婷| 婷婷五月天激情电影| 99热色在线精品| 5月婷婷6月丁香aV| 精品国产va久久久久| 色综合视频| 1024在线观看免费视频| 淫五月停停| 精品国产AV色一区二区深夜久久| 五月激情综合网| 婷婷丁香五月色| 天天色激情| 天天日人人爽| 91dy.av| 色婷婷五月天激情在线播放| 丁香婷婷色五月| www.久久综合| 99无码精品| 夜夜操激情| 九九精品在线网| 婷婷激情综合网| 色婷婷深爱五月| 成人色情五月天婷婷丁香| 六月丁香成人| 丁香五月天激情五月天激情五月天激情网 | 99久久婷婷五月| www.久久久久久久久久.com| 黄色av高清| 十二区无码| 婷婷丁香五月视频| 免费播放AV| 日韩成人影片在线观看| 一级七香蕉| 九九精品少妇| 久久新地此| 91大神操美女| 色色婷| 激情四射五月天偷偷看婷婷| 五月婷婷婷综合网| 色九月综合| 伊综合蕉| 婷婷伊人五月丁香天堂网| 91日综合欧美| 中文字幕激情综合| 91黄址| 日韩啪啪视频| 五月婷婷综合激情| 中日韩狠狠色| 日韩AV在线影片| 操逼电影免费看| 人人叉久| www.久久久.com| 六月婷婷深深爱| 天天模,夜夜模夜夜爽| 五月天婷婷影院影院| 五月婷婷啪啪啪啪| 九九大香蕉黄色影院| 免费黄色片子| A片试看120分钟做受视频红杏| 国产AV熟妇人震精品一品二区 | 天天操九九插| 人人噜天天上| 五月丁香六月成人| 97在线精品| 韩国不卡AC视频| 色色五月天婷婷丁香| 丁香九月激情| 中文字幕日韩无码制服诱或| 天天天综合网| 亚洲天堂热| 无码91中文字幕| 玖玖99精品视频| 偷偷狠狠久久婷婷五月天| 这里只有精品久| 丁香五月先锋| 久久久国产精品黄毛片| 色99超碰| 激情五月开心五月在线视频| 天天添天天摸天天天天做| 色婷婷综合网| 免费无码毛片一区二区A片| 亚洲天堂制| 五月天日日操夜夜操 | 亚洲精品字幕在线观看| 99在线视频。| 一起草Av| 99久久综合精品五月天| 婷婷激情九月| 婷婷99视频全集高清| 伊人五月婷婷| 丁香婷婷十月| 99热超碰在线| 日本三级色| eeuus五月婷| 五月天婷综合| 精品一区久热| 噜综合| 十一月婷婷激情四射| 亚洲乱码日产精品BD| 午夜日韩久久久网站| 婷婷五月天777| 激情久久久久久久久久| 色色色色丁香| 五月激情五月丁香| 成人色图情色成人网 www.5b5b5bcom 五月天| 婷婷五月天丁香| 五月婷在线影院| 精品人妻久久久久久久| 能看的av网站| 九九精品综合| 激情五月婷婷开心网| 欧美性生交XXXXX无码小说| 久久婷婷五月综合色奶水99啪| 色 五月婷婷基地| 婷婷亚洲综合| 肏屄色播伊人97婷婷| 综合激情深爱| 99热这里有精品| 异能之下短剧免费观看全集| 婷婷六月综合激情| 日本久久色| 激情婷婷综合| 思思热在线视频精品| 人人干99| 开心五月深爱五月| 色婷婷色丁香色欲av| 天天在线久久综合| 国产成人网址| 天天艹天天综合网| 高清视频一区| 激情四射婷婷| 五月丁香婷婷婷激情爱爱| 伊人大香久久| www.亭亭五月天| 国产av天天插天天操天天爽| 99热国内| 亚洲激情久久| 99在线精品视频观看免费下载| 五月天色综合| 九九色之九九色88| 久久hd| 综合一区二区三区| 五月丁香啪啪| 97色婷婷在线观看| 九九综合| 啪啪婷婷五月天激情| www.五月丁香| 99福利导航| 99久久婷婷| 亚洲午夜AV| 婷婷五月天电影网| 天天做天天爱天天摸| 精品久久艹| 婷婷激情肏屄网| www.五月天婷婷| 久久这里面只有精品视频| 婷婷在线精品| 天天爽天天日人人爱| 久99热| 天天综合天天做天天综合| 精品香蕉99久久久久网站| 另类国产综合| 一本久久婷婷| 人人视频人人干人人做| 一起草无码| 激情欧美五月丁香| 天天上天天爽| ai97re99一本| 五月天啪啪啪| 91ncm视频| 婷婷金品综合视频| 婷婷五月天国产手机在线视频观看| 蜜桃成语时李时珍 免费| 五月婷婷视频ab| 五月婷av| www九九热| 色五月激情五月丁香五月婷婷啪啪综合 | 久久久久9久无码视频| 青草青青草| 久久久婷丁香五月天激情综合| 99热碰碰热| 第2色五月婷| 色婷婷狠狠久久综合五月| 婷婷综合五月| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 五月四色激情| 久久九九99.www| ww超碰在线| 三日本无码| 99这里有精品| 99惹| 天天夜夜操| 另类伊人婷婷| 综合网色综合| 在线成人视频免费| 五月婷婷激情日本| 九九九九大香蕉| 991国产精选视频在线播放下载| 欧洲一区二区| 99,色| 99视频精品| 亚洲国产精品VA在线看黑人| 色婷婷香蕉| 天天插天天干| 丁香色播五月天| 国产超碰在线| 九九国产视频| 天天综合五月天| 琪琪色影音先锋| 国产日产亚洲系列最新| 成人AV在线网站| 精品99视频| 久久精品五月| 大香蕉五月| 久久日韩婷婷五月| 碰人人97| 亚洲综合色色| VfJxEwPH| 色情综合网| 狠狠色婷婷丁香五月| 夜夜操天天干| 丁香五月婷婷色偷偷| 久久久妻人人人| 百度4399有码精品V在线观看| 久久人妻精品| 丁香五月婷婷av| 操逼棍操逼| 立川无码av| 在线你懂的亚洲欧| 亚洲精品**不卡在线播he| 色婷婷六月| 99丁香五月婷| 丁香五月婷婷色| 狠狠做五月婷婷| 99久久婷婷国产综合| 丁香五月www| aV直接看| 六月丁丁香| 色综合激情| 九九亚洲综合| 看久久性爱99视频| 色五月天在线| av在线资源| 丁五月激情视频免费| 色丁香久久久| 狠狠肏综合网| 99re熱| 日本一道久久| 亚洲色夜| 久久婷婷草| 97超级免费无码| 亚洲午夜成人av电影网| 激情综合亚洲| 久久久久久人妻| www久| 久久婷婷五月丁香网| 免费观看的av| 五月婷婷色五月| 日韩AV大全| 精a品a| 丁香婷婷色| 色噜噜婷婷| 精品国产va久久久| 五月婷婷第四色| 精品久9| 欧美日韓成人亚洲精品另类| 91碰超| 草榴视频黄色网| 99成人网一区| 日本婷久久| 99热每日| 99久热视频在线| 久99久视频精品| av网址在线播放| 婷婷五月丁香青青草在线| 色色色五月天婷婷| 色99最新网址| 九一牛视频探花| 激情综合在线播放| 99热综合色图| 亚洲午夜视频| 色999亚洲人成色| 激情5月舔| 天天天天天操| 武汉美女啪啪视频免费一级片| 亚洲人人操BD| 欧美国产一区二区三区| 夜夜爽天天爽| 中文字幕人妻在线| 伊人久久婷婷| 人妻丰满精品一区二区A片| 国产99久久久国产精品免费看 | 成人网在线视频| 欧美色色色色色色色| 久久久久er热| 成人国产欧美大片一区| 婷婷性爱五月天丁香网| 大香蕉人人网| 先锋五月婷婷丁香草草| 丁香六月婷婷综合激情欧美 | 99热日| 久久狠狠干| 成人做爰黄A片免费看直播室男男| 日本女色人人| 五月丁香六月婷婷的女人| 天堂久久性| 丁香婷婷六月婷婷六月婷婷六月婷婷| 亚洲色情一区二区三区四区| wwwC0maV五月花| 丁香婷婷九月| 超碰九色| 一本久婷婷综合| 亚洲AV综合在线观看| 狠狠色狠狠鲁| 66成人网| 99re这里只有| 色色六月| 精品人人操| 丁香五月婷婷激情视频播放| 丁香五月伊人| 色色色色热热| 激情小说婷婷五月| 91蜜桃婷婷狠狠久久综合9色| 91色呦哟| 久久综合首页| 婷婷激情区| 久大香蕉| 精品亚洲国产成AV人片传媒| 午夜丁香六月婷| 婷婷丁香久久五月综合| 婷婷五月天美女21p| 色色色999| 99玖玖精品| 激情精品久久| 91久久电影| 99久久户外勾搭| 亲子乱AV一区二区三区下载| 噜噜噜色噜噜| 99久re热视频精品98| 伊人久久丁香五月91| 激情AV| 青草少妇激情| 国产精品国产成人国产三级| 国产成人在线不卡AV| 色五月视频无码播放| 强伦轩人妻一区二区电影| 综合久久五| 97人人干| 婷婷五月天丁香社区| 五月桃花网综合| 5月激情天| 婷婷 丁香 精品| 婷婷婷婷午夜| 成人噜噜网| 久久这里只有精品热在99| 国产成人AV不卡| 密黄站| 狠狠久久婷五月| 色综合色综合色综合| 午夜青草资源| 丁香六月婷婷综合| 丁香九月综合激情| 婷婷开心激情五月激情网| 国产精品久久久久久久久久久久 | 婷婷五月花西瓜| 综合网色| 蜜桃婷婷狠狠久久| 怡红院 久久| 五月花婷婷| 亲子乱av一区二区三区的| 热热久久久久久久久| 色99视频| 色五月婷婷婷婷婷婷婷婷婷婷| 色爱99| 色婷成人狠干| 久操大屁股女人av| 精品久久久久成人码免费动漫| 99操久久| 影视av久久久噜噜噜噜噜三级| 欧美久久久久久久久中文字幕| 五月婷婷久久网| 人妻丰满精品一区二区A片| 天天色综合天天| 99黄色性生活| 色欲色天天香综合| 激情久久丁香| 国产AV不卡福利| 99亚洲精品视频| 91九色无码内射| 亚洲色优| 四季AV综合网| 久久婷婷五月综合| 五月婷婷六月丁香玖玖玫瑰91| 五月天综合在线观看视频| 久久天堂色| 日日操夜夜爽| 97色色综合| 久久久久亚洲AV成人无码电影| av在线免费网站| 99无码| 99re久热只有精品6在线直播.com| 色色色色色网| 五月婷婷色播| 久久激情视频| 亚洲婷婷五月天综合| 99精品成人无码A片观看金桔|