亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

Java智慧園區(qū)源碼:SpringBoot整合MyBatis-Plus權(quán)限實(shí)戰(zhàn)

Java智慧園區(qū)源碼:SpringBoot整合MyBatis-Plus權(quán)限實(shí)戰(zhàn) 簡(jiǎn)介一套基于Java的智慧園區(qū)管理系統(tǒng)源碼采用SpringBoot加Ant Design Pro技術(shù)棧前后端分離架構(gòu)適合有Java基礎(chǔ)的學(xué)習(xí)者、畢設(shè)選題或園區(qū)數(shù)字化項(xiàng)目參考。系統(tǒng)覆蓋駕駛艙工作臺(tái)、租戶管理、園區(qū)列表、樓宇管理、房間管理、入駐申請(qǐng)等核心業(yè)務(wù)模塊駕駛艙提供本月賬單、物業(yè)費(fèi)、租金、水電費(fèi)等TOP10柱形圖統(tǒng)計(jì)房間維度精確到每棟每層每間可配置收租面積、租金和閑置天數(shù)入駐流程銜接小程序申請(qǐng)整體業(yè)務(wù)鏈完整。資源包共593個(gè)文件其中Java源碼280個(gè)、Vue組件105個(gè)、JS腳本91個(gè)配合XML配置、SQL及YML工程文件壓縮包僅1.82MB便于下載部署與二次開發(fā)。當(dāng)前已有738人學(xué)習(xí)源碼結(jié)構(gòu)清晰能幫助快速掌握多租戶園區(qū)中臺(tái)的數(shù)據(jù)報(bào)表、資產(chǎn)管理及入駐審批等典型實(shí)現(xiàn)。1. 基于Java的智慧園區(qū)管理系統(tǒng)源碼先想清楚它到底解決誰(shuí)的什么問(wèn)題園區(qū)運(yùn)營(yíng)方最頭疼的不是單一系統(tǒng)不好用而是門禁、道閘、訪客登記、設(shè)備報(bào)修各自為政。一個(gè)訪客要進(jìn)樓保安翻三個(gè)后臺(tái)才能確認(rèn)身份和放行權(quán)限。基于 Java 的智慧園區(qū)管理系統(tǒng)源碼就是把“人、車、設(shè)備、工單”統(tǒng)一收進(jìn)一套 Spring Boot MyBatis 的后端里讓這些數(shù)據(jù)從一個(gè)入口管起來(lái)。這套東西適合三類人準(zhǔn)備接手園區(qū)類項(xiàng)目的 Java 工程師拿它當(dāng) Java 課程設(shè)計(jì)案例源碼的學(xué)生以及想快速搭建信息化底座的中小型園區(qū) IT 負(fù)責(zé)人。說(shuō)句反直覺(jué)的話這類源碼真正費(fèi)勁的往往不是業(yè)務(wù)代碼而是數(shù)據(jù)權(quán)限和建表這些“地基”活兒。2. 技術(shù)選型與工程骨架為什么 Spring Boot MyBatis-Plus 是復(fù)現(xiàn)這套源碼的最短路徑2.1 選型邏輯先定數(shù)據(jù)模型再定 ORM最后才輪到前端智慧園區(qū)管理的本質(zhì)是“人、車、物、事”四個(gè)對(duì)象的關(guān)系網(wǎng)。人員綁定樓棟訪客關(guān)聯(lián)人員設(shè)備掛在樓棟和樓層下工單又圍繞設(shè)備流轉(zhuǎn)。這種場(chǎng)景下聯(lián)表查詢、報(bào)表統(tǒng)計(jì)、權(quán)限過(guò)濾會(huì)占掉一大半接口邏輯所以 ORM 選型的第一原則是 SQL 可控性。MyBatis-Plus 在這一點(diǎn)上的優(yōu)勢(shì)非常直接單表 CRUD 不用手寫 XML復(fù)雜聯(lián)查又可以退回去寫原生 SQL進(jìn)退都有余地。相比之下JPA 的全自動(dòng)映射在簡(jiǎn)單場(chǎng)景省事但一碰到跨園區(qū)匯總、多條件動(dòng)態(tài) SQL調(diào)試成本會(huì)明顯上升。這些判斷說(shuō)白了是 Java 基礎(chǔ)里的常識(shí)不是玄學(xué)。前端在標(biāo)題里不是重點(diǎn)工程上按前后端分離的常規(guī)做法處理即可后端只輸出 JSON做好 REST 風(fēng)格的接口約定前端用 Vue 或 React 都行。很多源碼包還會(huì)附帶一套管理后臺(tái)頁(yè)面但復(fù)現(xiàn)時(shí)的核心工作在后端先把數(shù)據(jù)模型和服務(wù)層跑通前端頁(yè)面只是殼。2.2 可復(fù)現(xiàn)的 Maven 工程結(jié)構(gòu)依賴與配置一次到位先把工程骨架搭出來(lái)。常見(jiàn)的做法是標(biāo)準(zhǔn) Maven 多模塊或單模塊結(jié)構(gòu)我一般用單模塊起步包結(jié)構(gòu)固定為 controller、service、mapper、entity、config、common 六層后面按業(yè)務(wù)規(guī)模再拆。核心依賴如下dependencies dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3/version /dependency dependency groupIdcom.mysql/groupId artifactIdmysql-connector-j/artifactId scoperuntime/scope /dependency dependency groupIdorg.projectlombok/groupId artifactIdlombok/artifactId optionaltrue/optional /dependency /dependencies依賴?yán)镒铌P(guān)鍵的是 MyBatis-Plus 的 starter它把分頁(yè)插件、MyBatis 自動(dòng)配置、條件構(gòu)造器全部集成進(jìn)來(lái)了。Lombok 可以省掉實(shí)體類的 getter/setter但要注意如果你的團(tuán)隊(duì)不習(xí)慣 Lombok也可以去掉它改用手寫方法功能上沒(méi)有差別。mysql-connector-j 的 scope 設(shè)為 runtime只參與運(yùn)行時(shí)不參與編譯。配套的application.yml是這樣spring: datasource: url: jdbc:mysql://localhost:3306/smart_park?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: your_password jackson: time-zone: Asia/Shanghai mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml type-aliases-package: com.smartpark.entity configuration: map-underscore-to-camel-case: true兩個(gè)參數(shù)容易踩坑serverTimezoneAsia/Shanghai不配置Java 8 時(shí)間類型在 JDBC 驅(qū)動(dòng) 8.0 以上版本會(huì)報(bào)時(shí)區(qū)異常map-underscore-to-camel-case開啟后數(shù)據(jù)庫(kù)的building_id才能自動(dòng)映射到實(shí)體的buildingId字段省去一堆TableField注解。2.3 園區(qū)四層數(shù)據(jù)模型園區(qū)、樓棟、樓層、房間怎么落表智慧園區(qū)的數(shù)據(jù)模型核心是“租戶-園區(qū)-樓棟-樓層-房間”這條層級(jí)鏈。租戶不是每個(gè)項(xiàng)目都有但只要是多園區(qū)運(yùn)營(yíng)tenant_id建議從一開始就加上不然后面數(shù)據(jù)權(quán)限會(huì)返工。我常按下面的表結(jié)構(gòu)設(shè)計(jì)表名用途關(guān)鍵字段park_building樓棟id, tenant_id, name, address, lat, lngpark_floor樓層id, building_id, floor_no, namepark_room房間id, floor_id, room_no, use_type, areapark_person常駐人員id, tenant_id, building_id, name, phone, id_cardpark_visitor訪客記錄id, person_id, visit_time, expire_time, statuspark_device設(shè)備id, building_id, device_type, status, install_datepark_work_order工單id, device_id, reporter, assignee, status, create_time樓層和房間單獨(dú)建表而不是用一個(gè)location字符串字段糊弄這是為了后面做樓層級(jí)權(quán)限和能耗統(tǒng)計(jì)時(shí)能直接按字段過(guò)濾不用解析字符串。tenant_id放進(jìn)人員表和設(shè)備表而不是只放園區(qū)表也是同樣的道理行級(jí)權(quán)限過(guò)濾時(shí)直接在業(yè)務(wù)表上加條件避免先查園區(qū)再二次過(guò)濾。3. 核心業(yè)務(wù)落庫(kù)用 MyBatis-Plus 實(shí)體類反向生成建表 SQL3.1 實(shí)體類怎么設(shè)計(jì)才不返工實(shí)體類設(shè)計(jì)是面向?qū)ο缶幊汤镒罨A(chǔ)但也最容易返工的一環(huán)。很多源碼跑不起來(lái)不是代碼邏輯錯(cuò)而是實(shí)體字段和表結(jié)構(gòu)對(duì)不上。MyBatis-Plus 里三個(gè)注解最關(guān)鍵TableName指定表名TableId標(biāo)記主鍵及生成策略TableField處理字段映射和存在性。Data TableName(park_person) public class ParkPerson { TableId(type IdType.ASSIGN_ID) private Long id; TableField(tenant_id) private Long tenantId; TableField(building_id) private Long buildingId; private String name; private String phone; private String idCard; private String faceUrl; private LocalDateTime createTime; }IdType.ASSIGN_ID是雪花算法主鍵適合分布式環(huán)境生成的 ID 是 Long 類型不用依賴數(shù)據(jù)庫(kù)自增。faceUrl存的是人臉圖片的文件路徑不是 base64 字符串這是常見(jiàn)做法。createTime建議統(tǒng)一放到每個(gè)表里做時(shí)間范圍查詢和審計(jì)時(shí)都會(huì)用到。一個(gè)細(xì)節(jié)TableField(exist false)可以標(biāo)記實(shí)體里存在但表里沒(méi)有的字段比如臨時(shí)用的startTime、endTime查詢參數(shù)這樣既能在代碼里用又不會(huì)在建表或查詢時(shí)報(bào)錯(cuò)。3.2 寫一個(gè)自動(dòng)生成 CREATE TABLE 的工具M(jìn)yBatis-Plus 本身不提供從實(shí)體類直接生成建表 SQL 的能力但可以通過(guò)反射自己寫一個(gè)輕量工具。這個(gè)工具在項(xiàng)目初始化時(shí)特別有用實(shí)體類改完了跑一下 main 方法所有表的 DDL 就出來(lái)了不用手寫第二遍。public class DdlGenerator { private static final MapClass?, String TYPE_MAP new HashMap(); static { TYPE_MAP.put(String.class, VARCHAR(255)); TYPE_MAP.put(Long.class, BIGINT); TYPE_MAP.put(Integer.class, INT); TYPE_MAP.put(LocalDateTime.class, DATETIME); TYPE_MAP.put(BigDecimal.class, DECIMAL(18,2)); } public static String generate(Class? entityClass) { TableName tableName entityClass.getAnnotation(TableName.class); StringBuilder ddl new StringBuilder(); ddl.append(CREATE TABLE IF NOT EXISTS ).append(tableName.value()).append( (\n); for (Field field : entityClass.getDeclaredFields()) { TableField tf field.getAnnotation(TableField.class); if (tf ! null !tf.exist()) { continue; } String column camelToUnderscore(field.getName()); String type TYPE_MAP.getOrDefault(field.getType(), VARCHAR(255)); ddl.append( ).append(column).append( ).append(type); if (field.isAnnotationPresent(TableId.class)) { ddl.append( PRIMARY KEY); } ddl.append(,\n); } ddl.append( create_time DATETIME DEFAULT CURRENT_TIMESTAMP\n); ddl.append() ENGINEInnoDB DEFAULT CHARSETutf8mb4;); return ddl.toString(); } private static String camelToUnderscore(String name) { return name.replaceAll(([a-z])([A-Z]), $1_$2).toLowerCase(); } }邏輯不復(fù)雜反射遍歷實(shí)體類的所有聲明字段讀TableName拿表名讀TableField判斷字段是否真實(shí)存在用TYPE_MAP做 Java 類型到 MySQL 類型的映射最后拼成 DDL。camelToUnderscore把buildingId轉(zhuǎn)成building_id保證和 MyBatis-Plus 的駝峰映射規(guī)則一致。TYPE_MAP是可以擴(kuò)展的項(xiàng)目里用到LocalDate、Boolean就補(bǔ)兩行映射Boolean 映射成TINYINT(1)LocalDate 映射成DATE。這個(gè)工具不是生產(chǎn)環(huán)境的遷移工具但配合 Flyway 做初始化比手寫 SQL 省力得多。3.3 通用 CRUD 最小閉環(huán)Mapper、Service、Controller 一次跑通實(shí)體類建好后Mapper 層幾乎不用寫業(yè)務(wù)代碼繼承BaseMapper就有單表 CRUDpublic interface ParkPersonMapper extends BaseMapperParkPerson { }Service 層我習(xí)慣繼承ServiceImpl這樣既能拿到通用的save、getById、page方法又能自己擴(kuò)展方法。Controller 層寫分頁(yè)查詢時(shí)用LambdaQueryWrapper構(gòu)造條件避免手拼 SQLRestController RequestMapping(/api/person) public class ParkPersonController { Autowired private ParkPersonService personService; GetMapping(/page) public IPageParkPerson page(RequestParam(defaultValue 1) int page, RequestParam(defaultValue 10) int size, RequestParam(required false) String keyword) { LambdaQueryWrapperParkPerson wrapper new LambdaQueryWrapper(); wrapper.like(StringUtils.hasText(keyword), ParkPerson::getName, keyword) .orderByDesc(ParkPerson::getCreateTime); return personService.page(new Page(page, size), wrapper); } }LambdaQueryWrapper的好處是方法引用直接指向?qū)嶓w字段字段改名時(shí)編譯期就能發(fā)現(xiàn)不會(huì)像手寫字符串那樣把name拼錯(cuò)。page和size直接透?jìng)鹘o MyBatis-Plus 的分頁(yè)插件返回的IPage里有 records、total、current 三個(gè)關(guān)鍵值前端表格組件直接能用。跑通這個(gè)閉環(huán)人員、訪客、設(shè)備、工單四套 CRUD 都是同一個(gè)模板后面的業(yè)務(wù)開發(fā)就快了。4. 權(quán)限與數(shù)據(jù)隔離多園區(qū)場(chǎng)景下行級(jí)權(quán)限的實(shí)現(xiàn)思路4.1 只做前端菜單控制等于裸奔一個(gè)常見(jiàn)誤區(qū)登錄后根據(jù)角色隱藏菜單就以為權(quán)限做完了。實(shí)際上后端接口完全沒(méi)有數(shù)據(jù)范圍校驗(yàn)A 園區(qū)的樓棟管理員只要手動(dòng)調(diào)接口就能把 B 園區(qū)的工單列表拉出來(lái)。這個(gè)問(wèn)題在智慧園區(qū)里尤其嚴(yán)重因?yàn)橐粋€(gè)運(yùn)營(yíng)方往往管著多個(gè)園區(qū)數(shù)據(jù)天然需要按租戶和樓棟隔離。數(shù)據(jù)權(quán)限這塊是 Java 面試題里反復(fù)出現(xiàn)的高頻點(diǎn)面試官問(wèn)的不只是“你怎么實(shí)現(xiàn)”而是你有沒(méi)有考慮過(guò)行級(jí)過(guò)濾的落點(diǎn)。落點(diǎn)只有一個(gè)SQL 層。在 Service 里手動(dòng)拼where tenant_id ?是能跑但每個(gè)接口都要寫一遍漏一個(gè)就出大事故。4.2 用 DataPermissionInterceptor 做統(tǒng)一的行級(jí)數(shù)據(jù)過(guò)濾MyBatis-Plus 從 3.5 開始自帶DataPermissionInterceptor它可以攔截 Mapper 方法生成的 SQL在執(zhí)行前自動(dòng)拼接上當(dāng)前用戶的數(shù)據(jù)權(quán)限條件。用它的好處是業(yè)務(wù)代碼不用做任何改動(dòng)權(quán)限規(guī)則收攏到一處配置。Configuration public class MybatisPlusConfig { Bean public MybatisPlusInterceptor mybatisPlusInterceptor() { MybatisPlusInterceptor interceptor new MybatisPlusInterceptor(); DataPermissionHandler handler new DataPermissionHandler() { Override public Expression getSqlSegment(Expression where, String mappedStatementId) { Long buildingId UserContext.get().getBuildingId(); if (buildingId null) { return where; } EqualsTo equalsTo new EqualsTo( new Column(building_id), new LongValue(buildingId)); if (where null) { return equalsTo; } return new AndExpression(where, equalsTo); } }; interceptor.addInnerInterceptor(new DataPermissionInterceptor(handler)); return interceptor; } }關(guān)鍵點(diǎn)在getSqlSegment方法where是原始 SQL 的 WHERE 條件如果當(dāng)前用戶是園區(qū)級(jí)管理員buildingId為 null直接返回原條件不做過(guò)濾如果用戶是樓棟管理員就把building_id 當(dāng)前樓棟的條件用AndExpression拼接到原條件后面。UserContext是自定義的 ThreadLocal 工具用戶登錄時(shí)把當(dāng)前用戶信息放進(jìn)去請(qǐng)求結(jié)束由攔截器清理避免線程復(fù)用導(dǎo)致的數(shù)據(jù)串號(hào)。這種方案有一個(gè)使用前提所有需要行級(jí)隔離的表都要有building_id字段。這就是第 2 章設(shè)計(jì)表結(jié)構(gòu)時(shí)把層級(jí)字段鋪到每張表的原因。如果有些表實(shí)在沒(méi)有層級(jí)字段可以用mappedStatementId判斷當(dāng)前執(zhí)行的是哪個(gè) Mapper 方法按白名單跳過(guò)過(guò)濾。4.3 角色-菜單-數(shù)據(jù)范圍三層模型與授權(quán)落點(diǎn)權(quán)限體系建議拆成三層而不是把角色和范圍混在一個(gè)表里層級(jí)內(nèi)容示例菜單權(quán)限用戶能看到哪些功能和路由工單管理、設(shè)備管理、報(bào)表中心操作權(quán)限對(duì)功能能做什么動(dòng)作新增工單、派單、關(guān)閉工單數(shù)據(jù)范圍能看到哪一層的業(yè)務(wù)數(shù)據(jù)全部園區(qū)、本園區(qū)、本樓棟、僅本人菜單和操作權(quán)限做成 RBAC即用戶-角色-菜單的三張關(guān)聯(lián)表。數(shù)據(jù)范圍不放進(jìn) RBAC而是作為角色上的一個(gè)擴(kuò)展屬性比如data_scope字段取值A(chǔ)LL、TENANT、BUILDING、SELF。授權(quán)時(shí)給角色分配數(shù)據(jù)范圍用戶登錄時(shí)把范圍解析成具體的過(guò)濾條件在攔截器里消費(fèi)。這樣新增一個(gè)“只要本樓層數(shù)據(jù)”的角色只需要新增一個(gè)枚舉值再補(bǔ)一個(gè)樓層字段的過(guò)濾邏輯不用動(dòng)任何業(yè)務(wù)接口。5. 避坑手冊(cè)源碼拿回來(lái)跑不起來(lái)時(shí)先查這 5 個(gè)地方5.1 Java 啟動(dòng)失敗端口被占、數(shù)據(jù)庫(kù)連不上、依賴沖突現(xiàn)象Application啟動(dòng)類一運(yùn)行控制臺(tái)先報(bào)Web server failed to start或者等了幾秒后報(bào)Communications link failure。原因最常見(jiàn)的是 8080 端口被其他進(jìn)程占用其次是數(shù)據(jù)庫(kù)連接串里的庫(kù)名和密碼不對(duì)本地根本連不上 MySQL。依賴沖突一般出現(xiàn)在 MyBatis-Plus 和原生 MyBatis 同時(shí)引入時(shí)兩個(gè)框架的 SqlSessionFactory 會(huì)打架。解決先在命令行確認(rèn)端口占用情況netstat -ano | grep 8080找到 PID 后按系統(tǒng)結(jié)束進(jìn)程。數(shù)據(jù)庫(kù)連接串、賬號(hào)、密碼逐項(xiàng)核對(duì)smart_park這個(gè)庫(kù)要先建出來(lái)連接串的庫(kù)名是大小寫敏感的。依賴沖突的話檢查 pom 里是否把mybatis和mybatis-spring重復(fù)引入了MyBatis-Plus 的 starter 已經(jīng)內(nèi)含了不要手動(dòng)再加原生 MyBatis 依賴。5.2 自動(dòng)建表腳本沒(méi)生效實(shí)體類沒(méi)被掃描到類型映射悄悄出錯(cuò)現(xiàn)象DdlGenerator 跑完沒(méi)有任何輸出或者生成的 CREATE TABLE 里字段類型全變成 VARCHAR(255)。原因前者通常是實(shí)體類不在type-aliases-package指定的包路徑下反射拿不到TableName注解后者是TYPE_MAP里沒(méi)有對(duì)應(yīng)該字段類型的映射走了getOrDefault的兜底分支。解決確認(rèn)實(shí)體類統(tǒng)一放在com.smartpark.entity包下并且application.yml里的type-aliases-package和實(shí)際包名完全一致。新增字段類型時(shí)同步更新TYPE_MAP特別是Boolean、LocalDate這幾種常見(jiàn)類型提前加好映射還能避免建出來(lái)的表字段語(yǔ)義不對(duì)。5.3 日期和時(shí)區(qū)錯(cuò)亂JSON 返回的時(shí)間比數(shù)據(jù)庫(kù)早 8 小時(shí)現(xiàn)象數(shù)據(jù)庫(kù)里存的是2025-01-15 10:30:00接口返回給前端變成2025-01-15 02:30:00所有時(shí)間整體少了 8 小時(shí)。原因MySQL 驅(qū)動(dòng)在連接串里沒(méi)有指定時(shí)區(qū)時(shí)默認(rèn)按 JVM 時(shí)區(qū)換算而 JDBC 驅(qū)動(dòng) 8.0 以上版本默認(rèn)使用服務(wù)器時(shí)區(qū)兩者不一致就產(chǎn)生了偏移。同時(shí) Jackson 序列化 LocalDateTime 時(shí)也有自己的時(shí)區(qū)設(shè)置兩個(gè)地方只要有一個(gè)沒(méi)對(duì)齊就會(huì)翻車。解決application.yml里spring.datasource.url的serverTimezoneAsia/Shanghai和spring.jackson.time-zone必須同時(shí)設(shè)置成同一個(gè)時(shí)區(qū)。只改其中一個(gè)治標(biāo)不治本。數(shù)據(jù)庫(kù)連接串里的characterEncodingutf8也順手加上中文亂碼問(wèn)題一并避免。5.4 多表聯(lián)查變慢N1 查詢和缺失索引現(xiàn)象門禁記錄列表頁(yè)打開要 3 秒以上或者同一批數(shù)據(jù)在數(shù)據(jù)量過(guò)萬(wàn)后明顯卡頓。原因最常見(jiàn)的是 Service 層循環(huán)里調(diào)用getById查關(guān)聯(lián)數(shù)據(jù)這就是典型的 N1 查詢。另外park_work_order表按device_id查、park_visitor表按building_id查時(shí)沒(méi)有建索引全表掃描在數(shù)據(jù)量上來(lái)后就是災(zāi)難。解決循環(huán)查庫(kù)改成批量查詢比如一次查出所有工單的device_id再統(tǒng)一listByIds取設(shè)備信息內(nèi)存里做關(guān)聯(lián)組裝。索引方面每個(gè)表的building_id、tenant_id都要建普通索引工單表的device_id、訪客表的visit_time同樣加上。用EXPLAIN看執(zhí)行計(jì)劃確認(rèn) type 列不是ALL。5.5 文件上傳路徑Windows 和 Linux 下的路徑分隔符現(xiàn)象人臉圖片上傳后在本地能訪問(wèn)部署到 Linux 服務(wù)器后全部 404。原因代碼里用字符串拼接路徑寫死了D:\\upload\\face\這種 Windows 風(fēng)格路徑而 Linux 的文件系統(tǒng)結(jié)構(gòu)完全不同。更隱蔽的是用\和/混拼出來(lái)的路徑Windows 能容忍Linux 直接報(bào)找不到文件。解決上傳路徑做成配置項(xiàng)放到application.yml的custom.upload-path里不同環(huán)境用不同的配置文件覆蓋。路徑拼接統(tǒng)一用Paths.get()或File.separator不要手寫斜杠。另外上傳的文件不應(yīng)該直接放在項(xiàng)目目錄下否則重新部署就會(huì)丟文件建議掛載獨(dú)立的數(shù)據(jù)盤或?qū)ο蟠鎯?chǔ)。6. 源碼值不值得投入先跑通這三步驗(yàn)收再?zèng)Q定拿到任何一套智慧園區(qū)源碼我都先做三層驗(yàn)收過(guò)了才談改造成本。第一層是空庫(kù)啟動(dòng)把數(shù)據(jù)庫(kù)清空配好連接串啟動(dòng)項(xiàng)目觀察能不能自動(dòng)建表、內(nèi)置數(shù)據(jù)能不能初始化成功。這一步卡住的多半是依賴版本或配置項(xiàng)問(wèn)題按第 5 章的順序查。第二層是權(quán)限驗(yàn)證造兩個(gè)賬號(hào)一個(gè)是園區(qū)管理員一個(gè)是樓棟管理員用同一套接口請(qǐng)求數(shù)據(jù)對(duì)比兩個(gè)賬號(hào)返回的列表數(shù)量是否不同如果完全相同說(shuō)明數(shù)據(jù)權(quán)限沒(méi)有真正生效。第三層是性能摸底打開慢 SQL 日志故意查詢一次大范圍數(shù)據(jù)看打印出來(lái)的 SQL 有沒(méi)有全表掃描。慢 SQL 日志這樣配logging: level: com.smartpark.mapper: debug把 Mapper 包下的日志級(jí)別調(diào)到 debugMyBatis 會(huì)把每次執(zhí)行的預(yù)編譯 SQL 和參數(shù)都打出來(lái)。這條配置在排查“接口突然變慢”時(shí)價(jià)值極高生產(chǎn)環(huán)境不建議長(zhǎng)期開啟但驗(yàn)收階段必須開。我接過(guò)一套老園區(qū)系統(tǒng)業(yè)務(wù)代碼寫得還算規(guī)整但數(shù)據(jù)權(quán)限全靠 Service 層手動(dòng)拼條件散落了十幾個(gè)地方一次漏改就導(dǎo)致跨園區(qū)數(shù)據(jù)泄露。后來(lái)花了整整一周把它收攏到攔截器里副作用是重構(gòu)期間測(cè)試量暴漲。從那以后我養(yǎng)成了一個(gè)習(xí)慣先檢查權(quán)限過(guò)濾有沒(méi)有統(tǒng)一收口再動(dòng)業(yè)務(wù)代碼。三層驗(yàn)收法也是那時(shí)候逼出來(lái)的現(xiàn)在每次接手新源碼都會(huì)先跑一遍。這套基于 Java 的智慧園區(qū)管理系統(tǒng)源碼只要過(guò)了這三層驗(yàn)收剩下的就是按你自己的業(yè)務(wù)場(chǎng)景做減法把用不到的模塊裁掉把報(bào)表和 BI 這類增值功能慢慢補(bǔ)上。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91久久久久免| 日本午夜福利视频| 欧美成人一区二区三区在线播放| 国产AV人人 夜夜人人澡| 91国模| 国产在线观看一区二区三区| av国产无码| 久久久久78| 十八禁视频一区二区| 亚洲中文人妻色| 97亚洲在线| 亚洲一区二区精品福利| 久久一区,青青青青草视频在线播放| 啊啊啊骚| 91东京热男人的天堂| 黄页大片在线观看| 久久伊人最新网址视频| 麻豆天美国美国产| 精品无码久久久久久久久果冻糖心 | 一级岛国大片| 久久m| 免费观看网黄| 精品一久久久| 91精品国产麻豆国产自产在| av影院十区| 婷婷五月天久久久| 女人香蕉久久毛毛片精品| 久久精品国产亚洲AV无码电影| 和协影院中文字幕三区| 欧美性夜| 日本不卡卡一区| 久久永久无码人妻视频| 神马久久69| 中日韩久久久| 成人怡红院| julia高潮后不停追击中出| 啊啊啊好大好深| 亚洲啪啪性视频| 麻豆一区二区三区在线看| 日韩av不卡在线观看| 亚洲情色1区| 熟妇乱伦一区二区| 色娱乐色呦呦夜夜夜夜av| 日韩中文字幕在线视频观看| 1769一区| 久久久久久九九九九九九| 91超级碰碰| sewuyueav| 日本久久99| 又摸又舔在线观看网站| 久久熟女久| 后入福利| 大屁股熟女一区二区三区| 中文字幕第7页| 激情婷婷五月天| 午夜福利在线合集| 一本色道久久综合精品婷婷| 亚洲啪啪性视频| WWW4虎| 久久99视频| 啪啪自拍九九综合| 欧美综合色综合| 成人精品在线观看| 国产成人精品无码久久| 久久精品视| 中文字幕精品一区二区精品| 国产乱伦亚洲色图高清无码| 东京热激情视频一二三区| a片在线播放| 在线 欧美 亚洲| 极品色社| 色色色色网站| 日本乱人伦片中文三区| 亚洲脚交| 福利大香蕉| 色哟哟国产精品免费网址| 巨爆乳一区二区爆乳区| 99热一区二区三区四区| 一区二区三区成人| 天天爱天天韩国日本牛牛牛牛| 日韩三A大片在线观看| 不卡六六在线91| 欧美日韩国第一区| 黄片com.| 新久久AV| 天天干天天舔| 久久久久久久久久久久黄色| 久久人妻视频网| 另类小说综合网| 91精品人妻一区二区三区蜜臀| 韩国女主播青草在线| 色婷婷影院| 久久av成人无码免费| 亚洲乱妇p22| 久九9精品| 久草资源欧美在线视频| 久久一二三四五六七八九区区区 | 久热9| 欧美日韩色综合网| a片 xxxx受爽视频| 九九九一二三| 日夜尻逼网| 日本东京热大香蕉a片| 日本三级久| 欧美日韩国产中文精品字幕自在自线| 狠狠婷婷亚洲中文综合久久| 久久久91| 黄骗免费网站| 亚洲做性| 人人妻人人玩人人澡人人爽| 夜夜爽夜夜操| 丰满少妇一区二区三区免费看| rion磁力链接| 国产辣妈在线视频福利| 日韩乱伦影音先锋| 女优免费一区二区永久| 五月天久久婷婷亚洲| 性爱Av免费| 啊啊啊啊啊在线视频| 亚洲中文字幕一区| 性爱乱伦一区| 欧亚免费视频| 一区黄二区黄| 高清不卡国产| 欧美无圣光在线| 色狠人在线99| 婷婷综合五月天| 狠狠操狠狠爱| 国产精品一区人妻精品阁在线| 日本一区二区做爱的视频| 欧美国产伊人久久久久| 色五月激情网| 久九九九九九九热| 激情露脸爱| 婷婷丁香久久| 国产有码一区| 超碰午夜| 欧美日韩亚洲少妇寂寞影院正在播放 | 久久精彩视频9| 人人色人人射人人妻| 97内射偷拍| 天天综合有色网| 人妻丝袜肏逼| 欧美丝袜91| 91爱网| 日韩无码视频黄色| 无码WWW免费视频网站| 福利操逼| 亚洲成人在线播放| 大香蕉99热| 91超碰碰在线| 国产熟女一区二区| 污污汅18禁网站在线永久免费观看| 操逼天美3区| 国产99 中文字幕日韩小视频| www.久久99| 2011国产精品| 97精品一区| 可免费观看的av毛片中日美韩| 国产日逼视频| 99色视频| 成熟熟女国产精品一区二区| 97综合激情| 夜夜免费视频| 啪啪视频免费在线观看| 青青伊人这里只有精品| 91色爽欧美| 日韩欧美女求操每天更新| 丁香色狠狠色综合久久小说| 高清无码国产亚洲| 青青青青草av在线观看| 99热在线只有精品| 色综合久久88色综合久久天天| 婷婷丁香成人| 天天综合网AV91| 久久精品无码专区| 强奸乱亚洲| 国产精品色哟哟| 欧美九九九| 激情婷婷综合久久| 97国产色综合| 啊啊啊啊啊啊啊在线| 国产精品无码久久久久2028| 中文字幕-区二区三区四区视频中国| 亚洲欧美色综合| 亚洲欧美setu| 日韩成人性日韩成人性爱视频在线免费观看| 无码国产Av| 国产少妇与亚洲av| 欧美亚洲高清不卡| 成人一二| 翘臀vidoes| 99精品久久久久久| 26uuu欧美日韩| 亚洲女毛多水多21P| 都市激情人妻一区二区青青操视频 | 91天天综合在线| 人妻天天爽夜夜爽2| 黄色激情电影在线观看| 日本裸体久久色噜噜| 91狠狠综合久久| 亚洲成人福利电影免费| 午夜福利在线合集| 三级色综合| 日本性爱不卡视频| 韩国成人精品久久久免费看| 老熟女网站| 天天干人人干天天日97| 超碰精品在线| 精品人人插人人操| 人人操人人色网| 男男H黄动漫啪啪无遮挡网站| 欧美91久久久久| 操逼片国产| 欧美黑人精品一区二区| 欧美日韩不卡传媒| 久久大香蕉手机高清| 欧美色图人妻| 18禁网站在线播放| 亚洲欧美自拍偷拍| 久草在| 五月丁香六月综合缴清无码| 999热日韩精品| 久草免费在线视频| 亚洲高潮影院| 国产一区二区三区中文字幕| 九一亚洲国产免费| 无码操逼天堂| 伊人久久亚洲色欲综合网站 | 人人搞人人插人人操| 在线综合 亚洲 欧美中文字幕| 婷婷99| 欧美青青视频| 国产对白刺激视频| 天堂资源站| 久久久久国产精品喷潮免费观看臀 | 色噜噜人妻丝袜a∨先锋影 | 久久精品| 青娱乐欧美激情一区二区| 天天干夜夜| 久久久青青草| 影音先锋视频在线| 蜜臀在线视频| 成人无码专区精品视频| 日比av无码| 天天综合影院91| 性爱AV天堂| 99热精品在线| 99热啪啪| 超碰日本97美女人妻人人玩人人爱| 国产兽交视频在线播放| 人妻 欧美亚洲| 男人下部插入女人下部 | 亚洲精品黑丝| 91精品导航| 男人 天堂 日 亚洲| 诱惑人妻欧美一区在线播放| ai欧美亚洲小说| 日日嗷| 97视频在线观看网站| 久久九九热| 国产精品农村妇女| 亚洲av国产av综合av卡| 日本在线播放不卡一区| 五月丁香成人网| 久久综合18p| 麻豆一区在线| 这里都是精品| 黄在线| 亚洲国产熟妇综合色专区| 亚洲不卡三级手机播放| 17c在线成人免费A片观看| 国模不卡一本二本三电影| 亚洲操操| 国产精品3| 欧美色青| 国产成年精品高清在线观看91| 家庭乱伦网站国产| 狠插 制服 自拍| 一级黄碟| 午夜视频好爽啊| 日韩人妻大香蕉| 亚洲一区亚洲天堂| 东京热男人天堂| 欧美极品美女aaaaaa级黄片| 婷婷综合五月| 欧美制服另类丝袜| 91n欧美| 日韩中文字幕二区| 中文字幕免费观看| www.色吧5.com| 秋霞一级视频在线观看免费| 国产农村妇女精品一| 91老司机在线| 91N欧美| 久久久久久久久久久久黄色 | 亚洲天天操| 色综合尤物| 免费草草草草草视频| 人人操人人色网| 日韩一区二区高清在线观看的| 精品女同一区| 中国一级操逼视频| 亚洲一卡2卡3卡4卡乱码网站| 在线97在线| 神马久久久久久伦理片| 美女91色黄18| 婷婷综合五月天| 国产风韵犹存熟妇三区| www.色综合| 夜夜欢天天干| 精品久久久亚洲AV成人网站| 啊啊啊啊啊啊好多水| 午夜精品99久久久久传媒| 激情熟女12P| 亚洲高清内射| 婷婷爱五月| juliaann欧美丝袜办公室| 狠狠操夜夜操蜜桃视频三区| 亚洲狠| 97久久精品亚洲中六字幕| 亚洲小说视频| 操淫穴亚洲五月丁香| 日本福利二区视频| 欧美日韩国产另类综合| 久久久九精品| 欧美在线视频99| 思思视频免费看网站| 午夜福利 成人 91| 日本 免费 一区二区三区 久久香蕉| 骚女天天综合网| 97热视频在线观看| 图色综合网| 日本色婷婷| 日韩欧美国产高清视频| 大香蕉久久| 伊人久久亚洲色欲综合网站| 国产这里只有精品| 色牛牛AV| 婷婷色影院| 美女极品一区二区三区| 女人与公拘交酡2020视频| 欧中美三级一区二区三区| 九九九九97| 青青草视频导航官网| 一区二区久久天天干狠狠| 无套内射性感少妇视频| 国产精品久久久无码AV网站| 久久成人国产| 人人干人人操人人爱| 91宗合网| 色色九区| 丁香婷婷五月| 色噜噜国产精品视频一区二区| 91精品国| 天天欧美| 国产精品国产亚洲区艳妇糸列| 97视频在线免费| 超碰在线综合97| 亚洲精品97久久中文字幕| 成人精品久久| 老熟妇乱轮| 强奸乱伦AV一天堂网| 国产女人高潮嗷嗷嗷叫小说| 人人操人人摸人 | 强奸乱伦av电影| 91天堂色男人的天堂| 欧美天天综合在线| 亚洲无码成人精品| 青草av在线| 日韩在线观看中文字幕视频| 欧美性爱在线无码| 精品人人| 加勒比综合在线| 亚洲不卡三级手机播放| 亚洲古典另类欧美在线| 青青国产精品在线| 亚洲偷91色| 夜夜久久久| 欧美人人曰人人操人人射射| 亚洲色欲天天人妻无码系列专区| 亚洲另类久操网| 成人老鸭窝人人在线视频| 亚洲官网在线| 中文久久久| 国产CHASE男男GAYGA 毛多色婷婷| 色色99| 超碰无码五月97| 国产粉嫩蜜臀av一区二区三区| 国产一区二区欧美日本| 人妻天天爽夜夜爽爽| 老司机香蕉久久久久| 一级黄色性爱A级片| 国产大片精久久久久久| 91网站18禁| 少妇高潮特黄A片| 激情图片亚洲色图| 伊人网青青| 日韩天堂av电影在线观看| 超碰久超碰久| 国语人妻精彩刺激| 福利视频合集| 东北女人的毛片| 性久久久| 久久亚洲天堂| 强奸xx国产| 超碰97伊人| 成人激情无码在线视频| 九九九草| 超碰在线91| 一级二级在线观看| 婷婷丁香五月综合| 国产精品爆乳懂色蜜乳| 午夜福利区| 亚洲在线网站| 国产蜜臀在线| 日韩中文字幕熟妇人妻 | www.亚洲黄色| 精品久一区免费| 自怕偷自怕亚洲精品| 久久婷婷亚洲欧| 国产一级αv免费看片| 美女久久久久久久久久久| 午夜福利久久久噜久噜久久综合 | 中亚黄色三级大片| 无码免费一区二区三区啪啪| 国产主播福利| 97欧美资源| 欧美午夜精品久久久久久3D| 91蜜臀熟女| 四虎免费视频| 久久久久久中文版| 超碰亚洲97| 91天天看| 91丝袜美女视频| 免费成人在线熟妇网| 五月激情天| 国产麻豆福利av在线播放| 日韩欧美传媒一区国产| 9999九九九久久久| 五月综合色| 日韩精品在线观看观看| 国产精品96久久久久久| 90后后入| 一级AAA片一区二区三区| 亚洲综合骚逼| 亚洲蜜臀视频精品久久| 四虎永久在线精品免费网址| 五月香婷婷| 91色久| 中文日本免费高清| 高清无码在线播放网站| 美女极品一区二区三区| 中日韩久久久| 无遮挡一级毛片视频免费的| 91色人妻| 天天上日日上日韩精品| 久久精品国产精品一区| 色九九久九九| www.久久久久| 狠狠躁AV| 熟女乱伦二区| 韩日精品四区| 91美女色视频亚洲| 哑洲在线| 一本色道久久综合精品婷婷| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 91女优在线观看| 大香蕉啪啪啪啪在线| 国产67194| 91人妻人人妻| 操少妞在线视频| 久久毛卡| 水野优香在线观看| 伊人网在线观看| 午夜啊啊| 久久综合资源一区二区| 欧美亚洲日韩人妻在线观看| 东京太热久久久| 综合91网| 日本黄大片在线观看视频| 欧 美 自 拍 偷 拍| 99re在线观看| 久久久久96| 水澄无码AV| 欧美人人曰人人操人人射射| 久久精品国产97欧美精品亚洲| 青青草九九九九九| 欧美 亚洲 综合 制服 另类| 久久久97| 亚州精品一区二区三区香中文字幕在线| 美中日韩无码| 色狠狠综合| 肉丝无码中文高清| 日韩一级片在线看| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | WWW黄片COM| 亚洲天堂日本| 综合操逼| 久久精品视频一区三区小泽玛利亚| 亚州,欧美在线| 大香蕉黄色一区| 玖玖爱视频网站| 午夜欧美女人操逼| 人人干黄色| 麻豆久久久久久久久丝袜 | 风月影院十八禁| 长长久久曰曰夜夜成人网| 十八禁黄色| 五月综合激情| 麻豆国产97在线| 在线女人91| 操www| 91性高| 殴美大黄片| 亚洲天堂另类小说男人| 操逼操逼视频操逼| 啊啊啊水好多| 中文字幕日韩精品一区二区三区| 天天艹天天日| 日韩天天综合| 91色黑人少妇| 秋霞一级视频在线观看免费| 干B网| 欧美激情色婷婷花野真衣一区二区| 91香蕉视频在线观看免费| 97资源欧美| 日韩AC| 欧美亚洲首页| 91天天c| 九月色婷婷| 日韩女模中文造逼| 久久这里只精品免费福利| 欧美后入式| 超碰98综合网| 亚洲最大的黄色电影网站。| 蜜桃无码AV一区二区| av在线播放国产一区| 亚洲欧美清纯| 99re在线观看| 亚州欧美在线| 最新9久久久9免费视频| 日韩少妇丰满亚洲| 女人爽到高潮久久久| 日韩精品中文字幕二区| 不卡中文字幕aⅴ在线| 97碰久久| 少妇蹲下露出大唇5| 国产精彩女在线观看视频| 操我啊啊啊啊啊| 后入 亚洲 美女 射| 日韩啪啪视频| 人妻少妇久久久| 国内毛片无码一级毛片| 八戒午夜福利理论片| 日本性爱欧美性爱| 十八禁av无码免费网站APP| 五月丁香黄色网| 大香蕉黄色一级片免费看| www.亚洲成人一区| 日本日逼高清| 亚洲一区二区麻豆影院| 碰碰在线视频| 情色av电影| 97爱爱影院| 日韩国产九九精品一区二区三区毛片| 久久久精品一区二区| 超碰 欧美| 日本2020一区二区| 99re免费| 久久‘黄片视频| 另类视频在线| 亚洲国内精品成人不卡| 精品一区二区三区四区女| 91超碰碰在线| 色综91| 亞洲久久直播| 久久久久9久久久久| 精品一久久久| 亚欧无码线免费观看视频| 久久国产精品91| 欧美亚洲成人在线一区二区三区| 色欧美色交综合| 成人无码在线视频网站| 国产精品交换一区二区| 超碰综合97在线| 在线视频免费观看午夜| 婷婷综合久久| 久久久久久中文| 久久91精品国产9丨久久分亭| 中文字幕一区av| 日本男人天堂| 欧美一区二区亚洲天堂| 91N综合网在线| 黄色免费网| 精品人妻一区二区三区-国产| 97日韩欧美亚洲| 国产综合网站在线播放 | 精品无码久久久久久久杏吧| 国产 热久久久久国产精品| 91亚洲影院综合| 久久中文字幕一区不卡| 操美女人妻| 国产JDAV无码视频在线观看| 一牛一区二区三区久久| 伊人久久综合影院精品久久久| 国产不卡片| 国产二区三区免费视频| 欧美午夜色妇色鬼| 国产AV色黄看到爽| 超碰97导航| 操操碰| 国产精品久久久啊| 国产精品久久久777| 日本性爱欧美性爱| 在线电影亚洲色图| 五月婷婷激情| 男人天堂网址| 麻豆精品天美| 91美女中出| 日韩在线视频1234| 国产成久久综合片| 曰本特级特黄特色黄色A级网站高清在线免费看| 一级黄色视频网| 欧美久久人体| 青娱乐大香蕉| 欧美,日韩,亚洲视频| 99热在线播放| 香蕉av一区二区三区| 国产欧美伊人| 成人免费福利网站国产| 亚洲加勒比久久日本道| 伊人少妇久久久| 69AV女优男人的天堂| 亚洲砖码砖专无区2023| 蜜乳中文字幕a在线| 欧美 亚洲精品首页| 天天综合97| 日本熟妇自慰性高潮一区二区三区| 人人妻人人玩人人澡人人爽| 婷婷伊人网| 无码人妻精品酒店| 思思久热在线精品66| 久久草草亚洲蜜桃臀| 色色青青久久| 九九热超碰97亚洲最新香蕉| 久久精品国产亚洲AV成人直播| 欧美加勒比| 精品欧美老熟女一二区| 久热99| 一区二区三区视频国产免费| 自拍第一页| 天天精品| 精品久久99| 中文字幕jul-617人妻熟女| 亚洲 欧美 偷拍 唯美| 国产丝袜欧美在线视频| 97操| 强奸乱伦 亚洲一区| 91丝袜| 久久9久| 伊人一级免费黄片| 免费男人的天堂| 亚洲狠狠入| 国产精品伦理| 久热最新在线杭州| 超碰九九| 丝袜人妻av一区二区| 一级片在线观看高清无码| 亚洲天堂男人| 另类小说综合网| 婷婷激情五月天小说网| 亚洲天堂电影精品一区| 毛片视频白嫩| 一区二区三区黄片免费观看| 中文字幕人成乱码熟女香港| 乱伦1色页| 人妻激情另类| 麻豆精品天美| 99热在线只有精品| 日韩国产精品人妻无码久久久| 免费国产电影一区二区| 国产激情av女片自拍| 国产少妇与亚洲av| 精品久久九| 亚洲图片小说欧洲| 天天操夜夜嗨| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 欧美大香蕉同搞| 亚洲一区深夜| 天天干夜夜鈤| 91爆操视频| 青草园大香蕉| 7777奇米影视久久| 99999精品成人| 亚洲性天堂| 久久九九视频九九视频| 色五月天AV| 国产无码成人无码| www鬼畜国产男人的天堂| 国产suv精品一区二六| 国产精品久久久久久无码红治院| 夜夜爽33333| 亚洲日韩黑丝| 性开放中文AV高清无码免费看| 操操AV电影| a啊啊啊啊啊啊啊啊一区二区| 夜夜天天噜狠狠爱2021| a级理论午夜日本| 91美女视频。| 欧美亚洲玖玖玖| 久热这里只有精品9| 欧日a| 97久久久久久久久久| 91超级碰碰碰| 亚洲精品欧洲色| 超碰97起碰| av中亚| 91黑人无码激情在线| 国产乱弄免费在线视频。| 一本精品日本在线视频精品| 加勒比av官网在线| 天天摸天天舔天天操| 色翁荡息又大又硬又粗又爽| 九九热精彩视频| 婷婷丁香五月激情啪啪| 不卡日本一区二区| 9精品久久| 四色永久成人网站| 极品销魂美女一区二区| 精品97久久综合| 欧美激情性爱视频网站| 中出在线视频| 九九久久久九九| 中文一区在线视频| 五月天人妻综合| 欧美亚男人的天堂| 日韩亚洲欧美中文字幕| 人人操人人射人人干| 精品人妻二区三区| 一区二区三区机械有限公司| 中字幕人妻一区二区三区| 人妻美腿丝袜日韩| 成人天天看站长推荐| 欧美劲爆视频一区二区| 曰本道人妻久久久在线不卡色视频| 加勒比大香蕉视频在线| 精品999999| 超碰 欧美| 蘋果手機免費看成人Av| 国产天天骚| 夜夜一区二区| 婷色五月| 欧美性爱五月天| 欧美系列在线一区二区| 亚洲中文字幕av| 91操熟女| 97亚洲综合在线| 亚洲色图伊人网| 99精品人妻| 无码一区二区精品视频久久久春药| 国产熟女完整版中字| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 99热成人| 天天综合网~91入口| 日本精品一区二区三区四区的功能| 欧亚性爱视频免费看| 国产亚洲精品第一最新| 好好的日:com久久九九| 人妻精品视频一区二区三区| www.久久制服糖| 久热伊人99re| 久久97视频| 啊v视频在线观看| 国产欧美黑人丰满在线| 无码一区免费在线不卡| 天天狠| 丝袜美腿91| 国产精品久久久久久久久AV大片| 性爱AV天堂| 亚洲影院无码在线| 91亚洲黑人| 校园春色综合香蕉| 成人免费视瓶| 天天看特黄的免费网站| 欧洲亚洲国产综合在线| 欧洲中文字幕| 日韩无码三级影院| 青青欧洲黑| 国产操伦| 午夜啊啊啊| 精品人妻av在线播放| 色天欧美| 艹少妇网站| 在线中文AV| 欧美日韩国内不卡| 人妻无码一区二区三区久久99| 亚欧成人一级片在线播放| 婷婷激情五月综合| 78精品| 激情综合网激情五月天| 亚洲深夜福利| 99热成人| 午夜男女爽爽爽影院视频| 欧美色图亚州激情| 亚洲色图尤物视频| 日日干男人的天堂| 欧美三级中文字幕hd| 日日干日日摸| 日韩精品99999| 欧美亚洲91| 熟女中出视频| 最新av中文字幕高清| 91爱做| 激情五月婷婷| 97干在线| 青青草白白色| 久久久久斤小| 亚洲另类在线观看| 东京热毛片177b2viP| 最新日韩黄片| 2017大香蕉| 91撸色网 玖玖网 欧美| 欧美日韩香蕉| 久久久久久加勒比| 婷婷三区| 综合一区中亚洲国产成人综合精品| 97资源久久| 亚洲影院小综合| 99精品成人免费看| www.亚洲黄色| 日韩无码人妻中字久久三区四区| 91狠狠综合久久久久久| 午夜电影在线观看无码专区| 清纯唯美亚洲| 日韩精品高清资源在线| 亚洲天堂7777| 亚洲97成人在线观看| 色悠久久久av| 97超级久久强资源| 亚洲精美粉嫩嫩泬在线观看 | 中文字幕丝袜人妻| 在线精品福利免费播放| 久久久久九九九九| 97精品97久久| 超碰97资源大奶| 五月天激情小说| 高清无码在线播放网站| 久久超碰av在线| 97精品国产97久久久久久| 香港澳门日本三级网站| 蜜臀99久久精品| 少妇人妻精品| 手机av天堂久久久久| 丁香九月激情啪| 麻豆熟妇乱妇熟色A片在线看| 久久久久ab| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 97香焦色区| 国产不卡免费在线视频| 97超碰超碰| 欧美极品少妇| 超碰久久中文| 无码抄逼网| 国产精品亚洲一级av第二区| 啊啊啊操死我| 99re这里只有精品2| 国产精品色哟哟| 青青青国产| 国产兽交视频在线播放| 亚洲97精品| 亚洲97网站| 日日干夜夜欢| 青娱乐亚洲热| 国产原创精品| 大香蕉亚洲中文| 婷婷综合激情| 精品一级毛片在线观看| 精品人妻一区二区三区鲁大师| 久久久99999久网站| 亚洲色图加勒比| 97资源欧美| AV天天在线观看| 婷婷97| 久久久久国产一区二| 亚洲砖码砖专无区2023| 国产亚洲深夜激情| 家庭乱伦麻豆| 人人干黄色| 亚洲精品性爱片| 久久系列| 快灬快灬 一下爽蜜桃在线观看| 欧美热图99| 亚洲se91| 人人操人人精品影片| 999久久芭蕾| 嗯嗯啊啊啊好爽| 一本色道久久综合精品婷婷| 国产精品 午夜福利| 午夜后入| 天天天堂影视日韩亚洲91| 亚洲AV色图一区| 区自美91| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 国产精品精品系列在线观看| 91日韩| 亚洲春色欧美激情自拍| 免费观看一区| 亚洲 欧美 日韩 国产一区二区| 蜜乳中文字幕a在线| 久久亚州精品成人Av无| 成人性爱免费播放| 九九视频黄色片| 操逼视频亚洲| 中文字幕一区日韩精| 久久精品中文字幕无码l| 深夜激情无码| 2010男人的天堂| 婷婷五月色| 久久黄黄| 97硬碰| 美国三级日本三级久久99| 97精品全部| 91色交| 免费的黄片有限公司| 99精品成人免费看| 97超碰jingpin| 二对二中文字幕。| 激情四射熟女丝袜| 亚州性色| 曰韩精品视频一区二区| 操逼不卡中文字幕| 久久久com| 日韩少妇丰满亚洲| 欧美色一二三| 东京热av影院| 无码久久国产| 久久久无码av精| 久久免费精彩视频| 小明看看网址| 日韩本不卡视频在线观看| 国产精品女aA片爽爽视频| 欧美少妇性爱网站| www.狠狠干.coom | 丝袜AV一二三区| 精品中文日韩字幕视频| 日本2020一区二区| 国产福利电影| 亚洲AV无码乱码在线观看性色| 国产精品熟女AV中文字幕在线播放| 中文字幕AV片| 中文字幕一二三| 操逼片国产| 少妇蜜汁| 黑人与人妻| 91殴美| 麻豆这里只有精品| 嫩草 人人网精品| 97干在线视频| 亚洲一级特黄大片在线播放91| 久久本道| 精品人妻一区二区三区四区| 久久欲| 五月婷婷综合激情| 欧美精品欧美精品系列| 9国产超碰| 免费黄色视频网址| 91美女在线视频| 婷婷人妻激情| 91操人| 无码男人天堂| 亚洲色图欧美一区二区不卡| 强奸乱伦中文字幕AV| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 在线国产福利网址导航| 青青草自拍视频在线播放| 夜夜操夜夜高潮夜夜爽国产精品区| 国产亚洲精品无码三区| 蜜桃色色网站视频三区| 男人的天堂视频精品乱在线| 国产精品精品系列在线观看| 亚洲一区中文字幕一区| 国产妇女精品视频青青草| 欧美日韩大香蕉| 爱爱动态120秒| 亚州色站 日韩电影| 葡萄牙性视频一二区| 色播五月丁香| julia国产在线| 欧美系列在线一区二区| 九热大香蕉| 91人妻最真实刺激绿帽| 国产传媒1234区| 无码人妻一区二区三区色欲aⅴ| 资源在线观一 二| 四季av一区二区凹凸精品小说| 日韩亚洲中文字幕在线| 91成人久久| 国产精品嫩草久久久久| 久久內射| 成人免费毛片| 2017大香蕉国产精品久久| 999久久久免费精品国产牛牛| 欧美夜夜狠| 九热中文字幕| 成人夜夜爽| 日韩BBN| 操迟操逼在巾线Fre看| 国产第11页| 国产极品美女高潮无套在线观看| 夜夜人妻爽| 97在线观看播放视频| 天天夜夜久久| av网页一区二区三区| 中文字幕精品亚洲熟女| 精品中文字幕一区二区l - 百度| 91精品少妇搡搡搡| 久久久久久AⅤ无码免费肉站| 全国男人天堂网| 91精品黄在线观看| 亚洲综合嫩| 伊人成人中文字幕久久网| 欧洲精品一级二级精品综合视频综合| 婷婷尹人大香蕉免费| 欧美精品庄| 看看小穴| 女人久久久| 精品久久久久瑟瑟| 午夜精品久久久久久久久久久久久 | 无码免费一区二区三区啪啪| 亚洲在线91| 乱理日韩中文| 琪琪精品免费一区二区三区| 久久99草| 国产又色又爽又舒服的三级视频| 老妇女91| 91老熟女老女人国产老太| 欧美日韩精品一区二区三区高清| 中文精品少妇天堂| 久久五月丁香| 欧美性爱18观看| 人妻喷水| 日韩久久三区| 高清国产成人无码| 久久久久深夜无码| 色女网日韩| 白嫩国模丰满一二三区| 人妻第一页| 伊人一区二区三区| 婷婷五月天av| 俺去啦俺来也久久综合| 久久精品视| 久久五月份| 免费在线观看国内色片网站网址| 亚洲欧美另类图片| 最新av在线| 99天堂网| 乱伦一二三区| 欧美 亚洲精品首页| 国产美女口爆吞精| 性爱免费视频成人| 日本媚薬中文字幕在线| 东京热一区二区三区四区五区六区| 日韩成人精品视频自拍| 亚洲日韩人妻中文字幕一区| 综合激情一一91| 操少妇很爽av| 亚洲国产成人精品无码专区| 97在线观看免费视频| 玖日综合网| 夜夜久久| 免费看国产曰批40分钟怎么下载| 新怡红院| 午夜福利在线合集| 91粉嫩萝控精品福利网站_精品影音先锋国| 欧美综合网| 国产激情在线| 国产二区三区粉嫩在线| 九九热免费国产视频婷婷伊人| 国产h片在线观看视频| 综合久久99| 97在线观视频免费观看| 国产精品国产亚洲区艳妇糸列| 99热99re6国产在线播放| 在线人妻熟女一区二区三区四区五区| 综合欧美日本三级| 欧美性爱日韩性爱| 九九九九精品| 欧美热图99| 99www.bibizy香蕉资源国产一区二区三区高清| 92福利社视频| 亚洲综合婷婷| 国产AV高清AV无码| 日韩无码操逼片| 啊啊啊啊操死我| 大香蕉中文在线| 一本色道久久综合精品婷婷| 加勒比av网| 欧美少妇内射| 凹凸视频特色日本特黄| 四虎影视永久在线免费| 成人无码在线视频网站| 午夜国产综合视频在线观看| 亚洲色图欧美| 91观看 国产白丝| 欧美 亚洲 91| 97在线青| 99久在线精品99re8热视频在线| 97视频620| 久久AV无码1区2区3区| 国产亚卅97| 床上啊啊啊一区二区三区| 日韩啪啪网| 青青草操逼逼视频| 久久 国产精品 一区| 精品黑人一区二区| 男男H黄动漫啪啪无遮挡网站| 精品无码欧美三级| 又大又大又大又粗爽高潮观看| 老鸭窝成人免费毛片视频| 老司机福利社视频在线观看| 加勒比综合a∨| 久男人久久| 97超碰巨乳| 日日碰视频网| 超碰97国产欧美| 久夜操| 97超碰伊人| 综合亚洲欧美| 大JI巴好深好爽又大又粗视频| 日日爱99| 精品免费视频国产一区| 国产无码成人无码| xxxx网站亚洲精品| 秋霞免费AV| 99热这里只有精| 麻豆久久久一区二区| www色婷婷| 五月天婷婷基地| 91ise欧美| 香蕉久久精品| 超碰综合97在线| 久久美国毛片| 人人操人人精品影片| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 91久久久久久| 麻豆久久久一区二区| 五月天婷婷基地| 视频在线观看一二三区| 亚洲区限制级| 亚州欧美另类| 国产精品视频91久久| 园内精品自拍视频在线播放| 超碰91在线| 天天日天天色| 污污污8888| 少妇三p| 亚洲国产一级黄色视频| 色成人Www精品永久观看| www.婷婷六月天|