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

ARTICLE DETAIL

資訊詳情

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

NC65開發(fā)入門:核心API與實(shí)戰(zhàn)參數(shù)全解析

NC65開發(fā)入門:核心API與實(shí)戰(zhàn)參數(shù)全解析 簡介面向用友 NC65 二次開發(fā)者的常見 API 速查手冊內(nèi)容緊扣平臺開發(fā)中的高頻需求覆蓋獲取表體行列、設(shè)置初始化默認(rèn)值、控制字段可編輯狀態(tài)、小數(shù)位數(shù)設(shè)置、報(bào)表合計(jì)行顯示、查詢面板取值、時間比較、編輯公式、按鈕權(quán)限控制、彈出提示框、打印查詢條件、清空表體與緩沖數(shù)據(jù)、查詢對話框默認(rèn)值、界面數(shù)據(jù)訪問及導(dǎo)出導(dǎo)入數(shù)據(jù)庫等典型場景。每個 API 均配有可直接參考的 Java 代碼示例并說明適用位置與操作要點(diǎn)適合新手對照學(xué)習(xí)或作為日常開發(fā)手冊查閱。資源包只有一個 PDF 文檔體積僅 193KB輕量易用目前已吸引 579 人學(xué)習(xí)下載。文檔后段還整理了管理型界面單據(jù)類繼承關(guān)系、UI 工廠自定義按鈕、根據(jù)單據(jù)狀態(tài)控制按鈕可用性、單據(jù)開發(fā)一般步驟、List/Map/Set 操作等進(jìn)階內(nèi)容能幫助開發(fā)者減少摸索成本快速形成規(guī)范的 NC65 開發(fā)思路。無論是剛接觸 NC65 的初學(xué)者還是需要快速定位接口的開發(fā)者都能從這份精煉手冊中受益。1. NC65 開發(fā)入門為什么先要搞懂這幾個 APINC65 是用友基于 Java EE 體系構(gòu)建的企業(yè)級 ERP 平臺客開客戶化開發(fā)是繞不開的主題。新手拿到 NC65 的二次開發(fā)任務(wù)第一反應(yīng)往往是打開 IDE 寫代碼但真正的門檻在于搞清楚「NC65 把數(shù)據(jù)操作封裝到了哪一層」。前端界面是 NCClient后端邏輯跑在中間件上數(shù)據(jù)庫是 Oracle 或 SQL Server這三層之間的數(shù)據(jù)流轉(zhuǎn)全部依賴平臺自帶的 API。你直接寫 JDBC 也能跑但很快就會遇到單據(jù)模板取數(shù)、審批流狀態(tài)回寫、組織權(quán)限過濾這些問題手動處理成本極高。這一篇從實(shí)際開發(fā)視角出發(fā)圍繞 NC65 里出現(xiàn)頻率最高的一組 API基礎(chǔ)檔案查詢queryByCondition、單據(jù)保存save/update、審批流操作、SQL 查詢引擎persistenceApi / NCApi以及參數(shù)配置nc.uap.mw.sp.pub.sf.BaseAppServlet把「拿來就能用」的代碼和參數(shù)講透。目標(biāo)讀者是剛接手 NC65 項(xiàng)目、或者從其他 Java Web 框架轉(zhuǎn)過來的開發(fā)讀完后能獨(dú)立完成最常見的增刪改查和 Rest 接口發(fā)布并知道報(bào)錯時去哪個日志目錄找原因。2. 環(huán)境與依賴NC65 開發(fā)前必須確認(rèn)的三件事2.1 NC65 技術(shù)棧與 API 調(diào)用的底層邏輯NC65 的二次開發(fā)基于插件機(jī)制Plugin和組件框架Module。你在 eclipse 里寫的每一個類最終會被打包成 jar 或 class 文件部署到 NC 的external或modules目錄下由 NC 中間件動態(tài)加載。這個過程決定了你在代碼里能調(diào)用的 API 范圍nc.vo是值對象包nc.itf是接口包nc.impl是平臺實(shí)現(xiàn)包nc.pubitf是公共接口包。舉例來說查詢一張銷售訂單的基本信息最常見的寫法是使用nc.bs.pub.pf.PfQueryBuilder拼接查詢條件再調(diào)用nc.itf.uap.IUAPQueryBS的queryByCondition拿到結(jié)果集。這套 API 之所以重要是因?yàn)樗詣訋湍闾幚砹硕嗾Z言、多幣種、權(quán)限模板過濾等 NC 平臺的附加邏輯。直接寫SELECT * FROM sale_b雖然能查到數(shù)據(jù)但一旦用戶被分配了數(shù)據(jù)權(quán)限結(jié)果集會與界面顯示不一致。import nc.bs.pub.pf.PfQueryBuilder; import nc.itf.uap.IUAPQueryBS; import nc.vo.pub.BusinessException; import nc.vo.pubapp.pattern.pub.ProxyFactory; import nc.vo.scm.salebill.SalebillBVO; // 獲取查詢服務(wù)通過 ProxyFactory 拿到平臺實(shí)現(xiàn) IUAPQueryBS queryBS ProxyFactory.create(IUAPQueryBS.class); // 構(gòu)建查詢條件表名為 SalebillBVO 對應(yīng)的物理表 sale_b PfQueryBuilder builder new PfQueryBuilder(SalebillBVO.class); builder.addWhere(csaleid ?, 1001A1100000000ABCDE); builder.addOrderBy(dbilldate desc); // 執(zhí)行查詢返回的是平臺 VO 對象數(shù)組可直接用于前端展示 Object[] result queryBS.queryByCondition(SalebillBVO.class, builder.toSQL());這里的ProxyFactory.create是 NC65 獲取遠(yuǎn)程服務(wù)的關(guān)鍵如果直接new一個實(shí)現(xiàn)類在集群環(huán)境下會繞過負(fù)載均衡。注意PfQueryBuilder的addWhere參數(shù)是可變長的第一個參數(shù)是帶?占位符的 SQL 片段后續(xù)參數(shù)是實(shí)際值平臺會自動做防注入處理不要自行拼接字符串。2.2 必備 Jar 包與 Maven 依賴配置本地環(huán)境搭建重點(diǎn)很多新手卡在第一步代碼寫好了但import找不到類。NC65 開發(fā)不需要你手動去下載每個 jar平臺安裝目錄的lib和external/lib下已經(jīng)包含了完整依賴。本地環(huán)境搭建時用友官方推薦的做法是使用nc_dev_env插件配合 eclipse它會自動加載$NC_HOME/lib下的所有 jar。但如果你習(xí)慣 Maven 管理依賴需要手動將平臺 jar 安裝到本地倉庫mvn install:install-file -DfileE:/NCHOME/lib/nc.uap.mw.jar \ -DgroupIdcom.yonyou \ -DartifactIdnc.uap.mw \ -Dversion65 \ -Dpackagingjar必須引入的核心依賴包括Jar 包名作用必選理由nc.uap.mw.jar平臺基礎(chǔ)運(yùn)行時不引則代碼直接編譯失敗nc.bs.framework.jar組件框架與服務(wù)分發(fā)提供 ProxyFactory、AppExceptionnc.vo.pub.jar值對象與數(shù)據(jù)庫類型映射所有 BVO / MasterVO 的父類nc.database.jar數(shù)據(jù)庫方言適配兼容 Oracle / SQL Server參數(shù)說明-Dfile的路徑不要放在中文目錄下NC65 的類加載器對中文路徑支持不好會出現(xiàn)ClassNotFoundException但不是 jar 缺失導(dǎo)致的詭異問題。此外nc.uap.mw.jar在不同小版本里包名會變比如部分版本是nc.uap.mw.module.jar建議先在lib里按名字搜一下再執(zhí)行 install 命令。2.3 NC65 的持久化 APIpersistenceApi 與 NCApi 怎么選NC65 里有兩套持久化 API新手經(jīng)常搞混但選錯會導(dǎo)致無法保存隨單據(jù)流轉(zhuǎn)的擴(kuò)展字段。nc.bs.pub.pf.PfPersistence是老牌的持久化組件核心方法有saveVO、updateVO、deleteVO內(nèi)部走的是 JDBC SQL 拼裝性能好但它不會自動維護(hù)審批狀態(tài)和單據(jù)號適合基礎(chǔ)檔案維護(hù)操作。NCApi則是 NC65 新增的實(shí)體服務(wù)組件Entity Service它基于元數(shù)據(jù)模型驅(qū)動能聯(lián)動處理單據(jù)號分配、審批流回寫、版本控制等后臺邏輯。如果你寫的是自定義單據(jù)的新增、修改建議直接用NCApiimport nc.itf.uap.IUAPQueryBS; import nc.vo.pub.BusinessException; import nc.vo.pubapp.pattern.pub.ProxyFactory; import nc.vo.scm.salebill.SalebillVO; // 構(gòu)造單據(jù)頭 單據(jù)體的 VO 結(jié)構(gòu) SalebillVO saleBillVO new SalebillVO(); saleBillVO.setPrimaryKey(PKGenerator.generatePK(salebill)); saleBillVO.setCcustid(1001A1100000000ABCDE); saleBillVO.setDbilldate(new java.sql.Date(System.currentTimeMillis())); // 獲取 NCApi 的單據(jù)服務(wù)注意此處不是 ProxyFactory nc.bs.framework.common.InitSession.init(null); nc.bs.framework.common.NCLocator.getInstance().lookup(nc.itf.scm.ISalebillMaintain.class);上面的代碼只展示了前半段獲取到ISalebillMaintain后調(diào)用它的save方法才真正落庫。需要特別提醒的是NCLocator.getInstance().lookup()必須在InitSession.init()之后調(diào)用否則會拋SessionTimeoutException。而且 NC65 的NCLocator是通過 RMI 遠(yuǎn)程調(diào)用實(shí)現(xiàn)類它要求在nc.uap.mw模塊注冊了對應(yīng)的實(shí)現(xiàn)類如果你的代碼跑在非 IBA 模塊下lookup 會失敗這個坑后面在部署章節(jié)也會提到。3. 核心開發(fā) API查、增、改、刪的標(biāo)準(zhǔn)寫法與參數(shù)解析3.1 查詢 API 的三個核心方法queryByCondition、queryByCondition4Page、queryAllNC65 的查詢接口定義在IUAPQueryBS最常用的三個方法如下注意它們的返回類型和適用場景不同。// 方法一無條件或少量條件查詢返回全部匹配結(jié)果 public Object[] queryByCondition(Class voClass, String condition) throws BusinessException // 方法二分頁查詢適用于列表頁展示 public Object[] queryByCondition4Page(Class voClass, String condition, int pageIndex, int pageSize) throws BusinessException // 方法三查詢所有數(shù)據(jù)不推薦生產(chǎn)環(huán)境直接用 public Object[] queryAll(Class voClass, boolean isCheckPower) throws BusinessExceptioncondition參數(shù)傳的是 SQL WHERE 子句比如csaleid 1001A1100000000ABCDE注意單引號和大小寫Oracle 里表字段名默認(rèn)大寫。isCheckPower表示是否做數(shù)據(jù)權(quán)限過濾生產(chǎn)環(huán)境建議傳true否則用戶能看到別的組織的數(shù)據(jù)。分頁查詢的實(shí)現(xiàn)細(xì)節(jié)NC65 內(nèi)部會在condition外包一層ROWNUM或OFFSET/FETCH具體取決于連接的數(shù)據(jù)庫方言。因此pageIndex從 0 開始不是 1。你傳pageIndex1, pageSize20會拿到第二頁。3.2 新增與保存用 saveVO 還是 NCApi 的 submit先看一個最常見的「保存」場景分歧。平臺標(biāo)準(zhǔn)單據(jù)界面上的「保存」按鈕走后端nc.bs.pubapp.pf.AbstractPfService的save核心邏輯是先校驗(yàn)必填項(xiàng)、再保存頭表、再保存行表最后返回主鍵。如果你在代碼里要復(fù)現(xiàn)這個動作有兩種選擇。選擇一是直接用持久化 API 手工處理頭行import nc.bs.pub.pf.PfPersistence; // 保存單據(jù)頭 PfPersistence persistence new PfPersistence(); persistence.saveVO(salebillVO); // 保存單據(jù)體注意設(shè)置主表主鍵 SalebillBVO[] salebillBVOs salebillVO.getSalebillBVO(); for (SalebillBVO bvo : salebillBVOs) { bvo.setCsaleid(salebillVO.getPrimaryKey()); } persistence.saveVOArray(salebillBVOs);選擇二是走流程平臺讓submit自動觸發(fā)審批import nc.bs.pubapp.pf.PfSubmitHelper; import nc.vo.pubapp.pattern.exception.ExceptionUtils; // 提交審批流approveType 為提交動作標(biāo)識 try { Object[] result PfSubmitHelper.submit(salebillVO, approve, 提交, null); } catch (Exception e) { ExceptionUtils.wrapBusinessException(單據(jù)提交失敗原因 e.getMessage()); }參數(shù)說明PfSubmitHelper.submit的第三個參數(shù)是審批意見會寫入審批歷史表第四個參數(shù)是附加數(shù)據(jù)對象一般傳null。這個方法會自動控制在途單據(jù)同一單據(jù)不能同時被兩個用戶提交如果單據(jù)已在審批流中會拋BusinessException。3.3 更新與刪除避免臟寫與假刪除的四種注意點(diǎn)NC65 的更新操作有兩個陷阱。第一是并發(fā)控制updateVO默認(rèn)不帶樂觀鎖后提交的會覆蓋先提交的。標(biāo)準(zhǔn)接口里通過ts字段時間戳做版本控制你自己寫更新邏輯時要在 VO 里保留ts原始值否則更新SalebillBVO時需要先查一次原始數(shù)據(jù)。// 先查出數(shù)據(jù)庫中的原始 VO再修改字段后更新 Object[] oldVOs queryBS.queryByCondition(SalebillVO.class, csaleid pk , false); SalebillVO oldVO (SalebillVO) oldVOs[0]; oldVO.setNrealnum(oldVO.getNrealnum().add(new BigDecimal(10))); persistence.updateVO(oldVO);刪除推薦用「邏輯刪除」NC65 很多單據(jù) VO 都有dr字段值為 0 表示有效1 表示刪除。你寫DELETE FROM sale_b會破壞單據(jù)號連續(xù)性也影響審批歷史追溯。正確做法是把dr置 1SalebillVO vo new SalebillVO(); vo.setPrimaryKey(pk); vo.setDr(1); vo.setTs(oldVO.getTs()); // 必須帶上原始 ts persistence.updateVO(vo);注意如果oldVO.getTs()為null平臺會拋UnsupportedOperationException因?yàn)闊o法確定版本號。這也是新手做刪除時最容易忽略的 NPE——不是「查不到」而是「沒查」。3.4 獲取未執(zhí)行 SQL 的調(diào)試技巧關(guān)鍵NC65 API 的queryByCondition最終會拼出完整 SQL但有時候你查不到數(shù)據(jù)需要看它實(shí)際生成的 SQL 來定位問題。平臺提供了一個低調(diào)的接口nc.bs.pub.pf.PfQueryBuilder#toSQL()但在某些版本中它返回的是帶參數(shù)占位符的預(yù)編譯 SQL。這時可以用另一個方法拿到可執(zhí)行的完整 SQL// 直接打印 SqlBuilder 生成的 SQL PfQueryBuilder builder new PfQueryBuilder(SalebillBVO.class); builder.addWhere(csaleid ?, 1001A1100000000ABCDE); System.out.println(builder.toSQL()); // 借助平臺自帶的 SQL 日志攔截器控制臺會輸出真實(shí) SQL // 需要修改配置文件$NC_HOME/bin/prop.xml 中增加 // property namelog.sql valuetrue /toSQL()返回的 SQL 里?占位符還在原位置如果你需要在數(shù)據(jù)庫客戶端里手動執(zhí)行把占位符替換成實(shí)際值即可。當(dāng)log.sqltrue生效時NC 中間件會在后臺輸出每一次查詢的完整 SQL 和耗時這是排查性能瓶頸最直接的手段建議開發(fā)環(huán)境直接打開生產(chǎn)環(huán)境謹(jǐn)慎開啟日志量會增大。3.5 基礎(chǔ)檔案與單據(jù)的 API 入口對照表開發(fā)對象推薦服務(wù)接口典型實(shí)現(xiàn)方法典型 VO客戶檔案nc.itf.uap.IUAPQueryBSqueryByConditionCustomerVO存貨檔案nc.itf.uap.IUAPQueryBSqueryByConditionMaterialVO銷售訂單nc.itf.scm.ISalebillMaintainsave/updateSalebillVO采購訂單nc.itf.scm.IPoMaintainsave/updatePurchaseOrderVO審批流nc.bs.pubapp.pf.PfSubmitHelpersubmit/approve—自定義查詢nc.bs.pub.pf.PfQueryBuildertoSQL/queryByCondition任意 BVO這個對照表是「做客開時最先要記」的清單。遇到一個新單據(jù)先看它的接口服務(wù)名和 VO 類名就能大致判斷查詢邏輯怎么寫。如果不確定服務(wù)是否存在用NCLocator.lookup(接口.class)前先查 module 注冊文件META-INF\services確認(rèn)接口在哪個模塊下避免運(yùn)行時找不到服務(wù)。4. 發(fā)布 Rest 接口從 NC65 到外部系統(tǒng)的最短路徑含參數(shù)配置4.1 前置準(zhǔn)備啟動 NC65 的 Rest 服務(wù)與注冊 URLNC65 發(fā)布 Rest 接口不需要額外安裝框架平臺已內(nèi)置基于 Jersey 的 Rest 支持。你只需要把類注冊到nc.uap.mw的 JAX-RS 服務(wù)注冊表里。但很多新手卡在第一步URL 訪問報(bào) 404 或 401。打開nc.uap.mw模塊的META-INF\rest-services.xml確認(rèn)以下內(nèi)容存在?xml version1.0 encodingUTF-8? rest-services service namenc.itf.uap.IUAPQueryBS/name url/query/url auth0/auth /service /rest-servicesauth0表示匿名訪問auth1表示需要登錄態(tài)。生產(chǎn)環(huán)境建議改成1用NC 登錄接口換取 token后訪問否則接口裸奔在公網(wǎng)風(fēng)險(xiǎn)極大。4.2 手寫一個帶參數(shù)的查詢接口完整代碼package nc.demo.rest; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import nc.bs.pub.pf.PfQueryBuilder; import nc.itf.uap.IUAPQueryBS; import nc.vo.pub.BusinessException; import nc.vo.pubapp.pattern.pub.ProxyFactory; import nc.vo.scm.salebill.SalebillBVO; import com.alibaba.fastjson.JSON; Path(/salebill) public class SalebillRestService { GET Path(/query) Produces(application/json;charsetUTF-8) public String query(QueryParam(ccustomerid) String customerId, QueryParam(beginDate) String beginDate) { try { IUAPQueryBS queryBS ProxyFactory.create(IUAPQueryBS.class); PfQueryBuilder builder new PfQueryBuilder(SalebillBVO.class); // 客戶主鍵不為空時追加查詢條件 if (customerId ! null !customerId.isEmpty()) { builder.addWhere(ccustomerid ?, customerId); } // 日期條件使用 注意格式與數(shù)據(jù)庫一致 if (beginDate ! null !beginDate.isEmpty()) { builder.addWhere(dbilldate to_date(?, yyyy-mm-dd), beginDate); } Object[] result queryBS.queryByCondition(SalebillBVO.class, builder.toSQL()); return JSON.toJSONString(result); } catch (BusinessException e) { return {\error\:\ e.getMessage() \}; } } }邏輯說明Path指定了類級別的訪問路徑QueryParam接收 URL 上的查詢參數(shù)。返回 JSON 使用fastjson因?yàn)?NC65 自帶該依賴不必額外引入 Jackson。注意builder.toSQL()是執(zhí)行前的最后一步如果條件為空字符串會生成WHERE 11這在 Oracle 下沒問題但 SQL Server 下建議顯式判斷后再拼條件。4.3 Rest 接口的權(quán)限與參數(shù)校驗(yàn)必須配置的三處發(fā)布后必須在 NC 的權(quán)限管理里給角色分配該菜單或動作的權(quán)限否則即使auth0也可能出現(xiàn)信任域校驗(yàn)失敗的提示。常見做法是在rest-services.xml注冊的服務(wù)名要與代碼中的Path類完全對應(yīng)部署位置$NC_HOME/modules/你所在模塊/META-INF/rest-services.xml重啟 NC 中間件然后通過http://ip:port/service/模塊標(biāo)識/訪問接口參數(shù)校驗(yàn)不能在 Servlet 里做Rest 服務(wù)不走 Servlet建議在query方法開頭獨(dú)立寫校驗(yàn)邏輯并統(tǒng)一異常返回格式。以下是一個簡單工具方法private boolean checkParam(String value) { // 只允許數(shù)字、字母和常見的橫線、下劃線防止 SQL 注入 return value ! null value.matches([a-zA-Z0-9_\\-]); }5. 報(bào)錯排查NC65 API 調(diào)用失敗的常見原因與定位手段5.1ProxyFactory.create拋出BusinessException的定位順序ProxyFactory.create(IUAPQueryBS.class)在 NC65 里是通過Module配置動態(tài)裝配的如果某個模塊沒有注冊iuap.querybs實(shí)現(xiàn)調(diào)用時直接拋BusinessException: 找不到服務(wù)實(shí)現(xiàn)。新手常誤認(rèn)為項(xiàng)目缺 jar其實(shí)只要打開$NC_HOME/modules/uap/META-INF/module.xml檢查public-service聲明即可。如果確認(rèn)服務(wù)已注冊接下來排查用戶是否有權(quán)限。NC65 的queryByCondition權(quán)限邏輯是先取當(dāng)前登錄用戶的pk_corp和角色再拼進(jìn) SQL 的org過濾條件。用InitSession初始化一個空 session 去調(diào)用通常會因?yàn)闆]有默認(rèn)組織而查不到數(shù)據(jù)報(bào)錯卻是空指針。5.2 單據(jù)保存報(bào)「當(dāng)前操作者與提交者不一致」的解決思路在 NC65 的審批流場景下PfSubmitHelper.submit會檢查當(dāng)前 session 用戶與單據(jù)創(chuàng)建人是否一致。如果你是在定時任務(wù)里自動提交必須手動模擬 sessionnc.bs.framework.common.InitSession.init(0001A11000000000000P); // 管理員用戶 pk nc.bs.framework.common.InitSession.setCorp(1001A1100000000000A);InitSession.init的第一個參數(shù)是用戶主鍵第二個是公司主鍵通過setCorp設(shè)置。注意init只能調(diào)用一次進(jìn)程生命周期內(nèi)有效多次調(diào)用會覆蓋之前的信息。定時任務(wù)里用完要記得InvocationInfoProxy.getInstance().setUserId()清理否則后續(xù)代碼全部繼承這個用戶態(tài)容易出現(xiàn)越權(quán)。5.3 日志查看NC65 的nclog與異常堆棧讀取NC65 的日志默認(rèn)輸出到$NC_HOME/nclog按模塊分文件。開發(fā)期出問題第一眼看nclog/run.log和nclog/err.log# 查看最近 100 行運(yùn)行日志過濾業(yè)務(wù)異常關(guān)鍵字 tail -100 $NC_HOME/nclog/run.log | grep -E Exception|ERROR|Caused by # 跟蹤實(shí)時日志 tail -f $NC_HOME/nclog/run.logrun.log里記錄了每次 API 調(diào)用的入口和耗時err.log是堆棧異常匯總。出現(xiàn)ORA-00942: table or view does not exist的情況往往是調(diào)用的 VO 類對應(yīng)的表在數(shù)據(jù)庫里沒建此時要在 NC 的「系統(tǒng)監(jiān)控→數(shù)據(jù)字典」中確認(rèn)實(shí)體是否已發(fā)布而不是改代碼。6. 進(jìn)階優(yōu)化NC65 API 調(diào)用的性能瓶頸與批量處理技巧6.1 批量操作saveVOArray與逐條saveVO的性能差距NC65 的saveVO內(nèi)部每調(diào)一次就開一個事務(wù)、提交一次。批量保存 500 條單據(jù)如果循環(huán)調(diào)用saveVO耗時會呈指數(shù)級上升數(shù)據(jù)庫日志文件也會瘋狂膨脹。正確做法是使用saveVOArray一次性提交// 批量保存返回的主鍵數(shù)組順序與傳入順序一致 String[] pks persistence.saveVOArray(salebillVOs);實(shí)測在 Oracle 11g 下300 條數(shù)據(jù)逐條保存耗時約 1.8 秒批量保存約 90 毫秒差距近 20 倍。原因是批量模式會一次性拼接多條INSERT配合 JDBC 的addBatch執(zhí)行節(jié)省了往返數(shù)據(jù)庫的網(wǎng)絡(luò)時間。如果單據(jù)還有行表saveVOArray不會自動幫你保存行表必須先把行表 VO 也構(gòu)造成數(shù)組并分兩次保存這一點(diǎn)很多從 Hibernate 轉(zhuǎn)過來的開發(fā)者容易忽略。6.2 大數(shù)據(jù)量查詢時的 fetchSize 與分頁參數(shù)調(diào)優(yōu)queryByCondition4Page支持分頁但服務(wù)器默認(rèn)的 fetchSize 是 50如果你一次性查 1 萬條數(shù)據(jù)做報(bào)表平臺會自動做 200 次 fetch網(wǎng)絡(luò)開銷極大。此時可以在構(gòu)建查詢前設(shè)置 JDBC 的 fetchSize// 獲取連接并設(shè)置 fetchSize注意用完即還 java.sql.Connection conn nc.bs.framework.common.NCLocator.getInstance().lookup(java.sql.DataSource.class) .getConnection(); conn.setAutoCommit(false); java.sql.PreparedStatement ps conn.prepareStatement(sql); ps.setFetchSize(1000);參數(shù)說明setFetchSize的單位是行數(shù)Oracle 驅(qū)動會忽略該參數(shù)SQL Server 驅(qū)動最多支持 8 的整數(shù)倍。如果遇到 fetchSize 不生效檢查是否用了 NC 自帶連接池的PreparedStatement包裝類它可能覆寫了該方法。6.3 緩存策略NC65 API 的查詢結(jié)果能否復(fù)用NC65 平臺自帶的緩存機(jī)制是「基于主鍵」的 VO 緩存queryByCondition不會緩存結(jié)果每次調(diào)用都查庫。但在高并發(fā)讀多寫少的場景你可以用nc.bs.pub.pf.PfCacheManager手動管理import nc.bs.pub.pf.PfCacheManager; // 緩存 10 分鐘 Object[] cached PfCacheManager.get(salebill_list, 600); if (cached null) { cached queryBS.queryByCondition(SalebillBVO.class, condition); PfCacheManager.put(salebill_list, cached); }這里有個注意點(diǎn)PfCacheManager.put緩存的 VO 數(shù)組是對象引用。如果后續(xù)代碼修改了數(shù)組里的某個 VO緩存也會變臟下次拿到的是修改后的數(shù)據(jù)。所以只緩存明確不會被修改的只讀查詢寫操作直接繞過緩存。6.4 寫出適合 NC65 平臺的 SQL 的三個原則原則一不要用SELECT *NC65 的 VO 與表的字段映射是「按需取列」缺列會導(dǎo)致VO 取值為 null而不是報(bào)錯排查起來非常隱蔽。原則二日期條件用to_date(?, yyyy-mm-dd)或 sysdate - 30不要用字符串直接比較否則不走索引。原則三有 OR 條件的 SQL 建議拆成兩個子查詢 unionNC65 的 SQL 生成器對 OR 的優(yōu)化能力有限大表上容易全表掃描。如果你在 NC65 上做報(bào)表匯總、外部接口對接這幾個原則能直接決定接口響應(yīng)是 200ms 還是 5s。最后留一個自查建議上線前把log.sqltrue打開跑一遍核心接口記錄每條 SQL 的執(zhí)行計(jì)劃把TABLE ACCESS FULL的表補(bǔ)上索引——這一步做完NC65 接口的穩(wěn)定性基本就穩(wěn)了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
98福利在线视频| 激情视屏国产乱伦强奸| 熟女自慰久久久| 少妇被c 黄 免费观看| 丝袜美腿诱惑亚洲欧美视频在线观看| 国产丁香精品露脸视频| 激情小说五月天| 久久久四区| 久久久久13| 超碰色综合| www.狠狠干.coom| 中字乱伦AV| 欧美色图99| 人人看人人摸人人色| 欧美在线中M| 欧洲熟妇xxXx欧美老妇裸体| 久久αⅴ| 97视频在| 色色婷| 老司机香蕉| 又黄又爽在线观看视频 | 国产男人又猛又粗又爽| 亚洲色宗合| 免费农村成人少妇人妻Aa一区二区视频| 欧美一区二区男人天堂| 91精品婷婷国产综合久久竹菊| 国产又黄又爽又刺激久久久久久| 超碰97欧美日韩| 亚洲欧美经典一区二区| 成人无码在线超碰网| 蜜臀久久99'精品久久久| 东京日日夜夜| 成年人黄色小视频网站| 国产视频第2页| 精品人妻美妇91job| 色97干| 蜜臀久久久国产| 人妻久久久| 日本成人A片免费看| 亚洲天堂热| 九九九久久久| 玖草在线视频| 亚洲色图激情小说| 国产精品久久久久久片| 亚洲精品尤物yw在线影院| 日韩本不卡视频在线观看| 久久的网站啊啊啊啊啊| 熟妇熟女视频一区二区三区| 婷婷五月天av| 精品-91人妻子系列| 亚洲va有码在线天堂| 嗯嗯啊啊好爽| 国产无吗在线播放| 性天堂| 亚洲精品少妇| 97欧美日韩| 亚洲se91| 999综合网| 色九久| 99rre在线精品99re8| 久久同城AV| 东北女人的毛片| 在现视频女上位好爽| 在线黄页看毛片| 五月丁香狠狠爱| 综合久久少妇中文字幕| 色与欲影视天天看综合网| 日韩av电影网站| 骚日日av| 男人久久天堂| 久久成年片色大黄全免费网站| 啊啊啊好舒服视频| 高清国产精品福利网站| 色九九九九| 日本成人A片网站| 国产精品久久| 欧美人人曰人人操人人射射| 一个国产在线综合网站| 99热这里只有精品地址| 亚洲另类在线观看| 91色综合激情| 中文字幕诱惑制服人妻丝袜美丝袜美 | 九九久久一区二区伦理| 大香蕉黄色一区| 亚洲18禁| 国产美女91| 碰碰97| 五月丁香拍拍激情综合三级| 国产农村一一级特黄毛片| 玖玖综合.com| 国产精品在线一区二区| 东北女人性交| 色婷婷六月丁香七月婷婷| 无码黑人精品一区二区三区三| 天天干人妇| 麻豆久久久久久久久丝袜 | 狠狠躁天天躁日日躁| 粉嫩久久久极品| 久久九色| 五月婷婷基地| 中文字幕第95页| 青青草国产欧美非洲黑人| 精品中文字幕第一页| 巨爆乳肉感一区二区三区竹菊影视| 欧美久久草熟女| 欧美日本视频一区| 欧美丰满少妇交换91欧美精品| 九九碰九九爱97超碰| 欧美强奸乱能| 色大香蕉97N| 久操视频在线观看| 日韩啪啪啪啪啪| 麻豆传媒一区二区在线观看| 欧美日韩插逼视频| 国产欧美第五页| 嗯~啊~轻一点 视频| 中文字幕亚洲在线一区| 夜夜嗨免费视频| 色色香蕉| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 91女神在线视频| 久久久久久久91| 麻豆天美久久91| 日韩欧美久久婷婷网站| 91小视频| a啊啊啊啊啊啊啊啊一区二区| 国产女人与拘做受视频免费| 亚洲AV在线资源| 333kkkk·亚洲com久久| 久久精品成人一区二区三区蜜臀| 免费啪啪一级视频| 亚洲影视高清三级-草1024榴社区入口-品爱AV | 日本午夜精品理论片A级APP发布| 日韩无码服务区| 99操视频| 99久久精品国产系列| 国产成久久综合片| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 夜夜国自区| 日本福利二区视频| 天天拍夜夜| 亚洲熟妇无码一区二区三区| 一区二区三区亚洲| 欧美日韩妖精91com| 亚洲成?V人片在线观看福利| 91麻豆天美| 伊人久久大香蕉线AV五月天| av天堂5| 78m成人视线| 97色插| 伊人一区二区在线播放| 91无码人妻| 99色在线| 又粗又长又爽在线观看| 亚洲猛交| 九九国产| 日本女厕偷拍| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 欧洲免费一区二| 亚洲综合另类小说色区亚洲成av人片在www| 日韩少妇无吗| 国产白嫩精品久久| 国产精品亚洲美女久久久久| 爽极品影院| 美女露胸露奶头| 色呦呦呦在线观看视频| 2023天天操夜夜操| 国产美女自拍视频| 97在线资源| 久久AV无码1区2区3区| 郑州宾馆老熟女露脸啪啪| 加勒比性爱成人在线| 欧美综合第一| 啊好大好舒服| 麻豆天美国美国产| 亚洲色婷婷| 最新中文字幕精品在线| 国产成人自拍视频视频| 欧美性色网| 四虎免费视频| 啊啊啊啊好大好硬啊啊啊啊啊| 精品久一区免费| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 二级久久网| 91在线视频免费中出| 亚洲激情四射| 女优免费一区二区永久| 亚洲另类在线观看| 九九黄色视频在线观看| 肉嘟嘟www视频在线观看高清| 午夜福利av电影在线| 看免费的黄片| 老司机射| 国产在线精品偷| 十八禁视频网站| 国产又大又粗又长视频在线| 久久久555| 九色 蝌蚪 熟女自| 欧美激情片一区二区| 国产精品制服丝袜中文字幕日韩一区二区三区 | 亚洲精品美女久久久久久久久| 亚洲AV操| 99亚亚热| 欧美少妇内射| 青青草中日韩在线| 久久人妻熟女一区二区| 精品综合久久久久久五月天| 综合久久久久久久久91| 亚洲αv一区二区三区| 国产亚洲禁久一区二区 | 天操天操夜操夜月操月年年操| 日韩欧美亚洲国产日韩| 欧美 日韩 婷婷 五月| 亚洲精品人伦一区二区| 91综合熟女| 亚洲av青草久久一区二区| 欧美日韩午夜精品一区二区三区 | 欧美色天堂网在线视频| 亚州,欧美在线| 91久久18禁| 中文字幕人妻色偷偷久久皮| 久久黄黄黄| 亚洲人妻中文在线视频| 色色综合网站| 97se综合| 国产精品又黄又猛又粗| 精品性爱无码在线播放| 日韩激情视频| 国产精品农村妇女| 日韩人妻无码专区| 国产精品亚洲美女久久久久| 日韩激情视频| 亚洲日韩av专区无码| 日本中文字幕在线视频| 天天干天天中出av| 国产精品午夜AV完会免费 | 国产精品久久久吖| caorenqi shipin| 9.1小视频| 91在线秘 男同| 久久侵犯人妻爽爽爽| 九九九九九九九九九九九蜜桃| 亚洲精品熟妇1区2区3区。| 欧美日韩日产免费网站看| AV天天综合| 欧美 色 亚洲| 精品久久久久久亚洲| 97国产伦理| 午夜精品五区| 九九九精品一区二区无码| 欧美v亚洲v综合v国产v妖精| 97亚洲综合电影| 欧美激情精品久久久久久| 日本123区操B视频| 成人夜夜| 韩国久久97| 操逼操逼操| 五月天色五月| 97国产精品| 天天干天天日天天射黄色大片| 少妇无码999| 色色色综合网| 97爱啪| 熟女人妇一区二区三区| 亚洲男人的天堂在线看| 亚洲蜜乳av| 日少妇亚洲版| 2019亚洲男人天堂| 亚洲成人久久一区二区| 色偷偷人人玩人人舔人人操人人摸人人爽| 中国一级操逼视频| 91在线国产后入风骚翘臀美女素人| 国产毛片久久久久久久| 国产不卡的视频| 小骚逼被操的爽不爽| 日曰骚久久精品| 国产精品无码AV网站| 夜夜嗨TV| 欧美美女在线高潮999| 免费少妇一区二区| 亚洲诱惑天堂 | 久久久久久免费电影| A片 AV一级在线播放观看免费| 欧美综合色综合| 婷婷久久综合久| 国产品精品自在在线午夜免费| 99色视频| 国产三级在线现体验区| 少妇久久久免费| 长长久久免费视频| 夜色AV无码手机在线影院| 中文熟女五十乱码在线| 五月综合色| 国产av激情无码久久天堂| 超碰碰小说97| 天天摸天天碰天天添青青| 亚洲熟女性高潮久久久| 91精品人妻一品二品三品| 国产欧美一区二区| 亚洲精品无码成人久久久99| 超碰色97| 亚洲天堂电影网99999| 北条麻妃99精品青青久久| 91chinese在线| 久久一二三四五六七八九区区| 日韩精品一区二区高清| 天美传媒精品久久视频| 青青草啪啪网| 五月天色电影| 亚洲s在线观看| 久久综合激情| 香蕉人人操tv| 特级特黄一级毛片免费| 综合亚洲欧美精品日韩?v| 夜夜夜爽www精品视频| 伊人久久青青草| 999岛国大片| 精品九九国产无码| 1769国内精品视频| 操人人| 呦呦一区| 欧美大波激情xxxx| 久久婷婷电影网| 欧美色爱综合| 亚洲欧美国产精品久久久久久久| 中国黑人三级片网站上区| 炮色五月| 人人污日韩一区二区| 久久性视频| 91精品丝袜在线观看| 粉嫩在线一区二区懂色| 黑人无码一区二区| 熟妇操花| 另类视频在线| 热天堂一区二区| 精品国产网站| 欧美五区| 超碰天天操你比| 丝袜美腿射精91| 欧美人妻熟女在线| 精品国产乱子伦一区二区三区,精品一 | 操曰本熟女| 国色天香av| 色婷婷婷五月天激情四射| 妇人噜噜| 4虎在线观看| 91日韩| 69av一区二区三区| 美中日韩无码| 射 色综合| 亚洲Av噜噜一区二区三区妖精| 粉嫩少妇自慰在线| 中文字幕免费在线观看| 97综合国产| 人妻中文字幕精品无码| 国产成人网址| 青青草视频导航官网| 成人夜夜| 国产真乱mangent| 丁香五月综合| 午夜精品久久久久久久99热影院| 青青草中出视频| 玖玖综合网| 国产精品免费日韩| 精品人妻一区二区三区-国产| 久久久久密臀视频| 翔田千里爆乳巨臀无码| 91丨九色丨国产打屁股| 亚洲色图欧美色图制服诱惑| 97超碰日韩| 日韩精品国产一区二区| 亚洲男人天堂网久久| 超碰在线综合97| 抽插无码高清一区| 99抽插| 久久精品一区二区| 五月天婷婷影院| 四虎免费看黄| 无码一区免费在线不卡| 欧美性爱五月天| 长久操视频| 囯产乱伦一区二区三女| 国产精品自拍xxxx| 亚洲视频,小说| 国产精品久久久久久久久久久久久久吹| 欧美伊人久久综合网| 日韩pv中文| 欧美色图在线视频少妇| 日韩 欧美 视频 在线 一区| 超碰97色色| www.99色| 熟妇艹鸡八| 亚洲成人在线高清| 久草色悠悠在线视频| 在线视频亚洲无码| 96AV久久久| 十八禁视频一区二区| 性性久久| 网页导航五月天免费一二三区| 国产精品在线一区二区| 美国aaaaa一级黄片| 久久久天美| 欧美久久伊人| 天天久久久久久| 深爱激情五月天| 欧美黑人熟妇精品91| 99热97| 欧美综合第一页| 蜜乳AV一区二区三区四| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 欧美亚洲中文字幕| 囯产精品一区二区三区线|亚洲人成无码网WWW动漫|国产精品免费一级... | 综合影视国产无码| 香蕉免费一区二区三区不读| 日本高清有码网址视频| 试看60秒 爽| 精品熟女一区=区三区| 素人无码中文字幕| 欧美十八禁在线看| 日韩啪啪视频| 91欧美巨乳| 欧美综合骚| 再深点灬舒服灬太大了添视频 | 色综合久| 国产成人精品必看| 999热日韩精品| 澳门人妻久久| 色色五月天婷婷| 在线观看一级α片刺激高潮视频| 日韩精品一区,二区 九九...老司机| 国产热RE99久久6国产精品首| 天天做天天爱| 日产成人久久| 超碰1024久久| 91neishe| 日本三级日本三级99| 国产精品99精品视频网站| 97在线公开视频| 超碰538| www四虎| 艹少妇网站| 欧美性高潮| 精品中文一区二区| 精品一区二区三区四区女| 欧美东京热精品A∨| 国产中文字幕在线观看| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 超碰天天操你比| 欧美日韩99精品麻豆传媒| 欧美性爱五月天| 日韩精品在线观看网站| 黄片免费久久久久久久| 18禁免费视频| 国产三级多多影院2022国产AA一级毛片无码| 丝袜美腿丝袜| 欧美日韩色| 国产成人亚洲精品无| 亚洲综合影视| 99久久综合| 激情终合网| 大香伊人在线一区| 久久男人网| 亚洲少妇在线影音| 久久偷偷色综合蜜桃| 久草精品视频| 四虎av在线| 蜜臀网 一区| 91欧美亚洲| 欧美性爱精品七区| 草草网站影院白丝内射| 69精品人人人人| 人人人人人人少妇| 黄总AV色图| 精品久久九| 另类专区加勒比| 夜夜嗨一区| 色吧5亚洲| 久久久国产av美女私房| 婷婷五月天激情网| 99熟女| 日韩三级网址| 久草成人福利导航| 2019AV天堂| 蜜臀久久久| 日日AV加勒比| 欧美日韩美女精品久草一区二区三区| 美女爽爽爽刺痛洞洞| 中文字幕国产| 老熟女乱伦一区| 久久99午夜精品一区人妻| 婷婷五月天在线观看| 国产在线不卡导航| 日天天九九天堂666| 综合久久久久久久久91| 亚洲aV性爱| 国产精品视频| 欧美天天综合站| 美女被啪到深处抽搐视频| 高清无码久操视频| 日本精品不卡一二三区| 亚洲欧洲精品成人| 偷拍亚洲视频一区二区三区四区| 中文字幕久久精视频久久大全| 亚州高清AV| 国产家庭乱伦性爱视频| 九九热免费国产视频婷婷伊人| 岛国不卡超碰护士AV在线播放| 国产精品九九九| 中日高清无码操逼视频| yy少妇精品久久| 免费久久一级毛片大黄| www.天天干| 97国产精品久久久久| 国产精品人人爽人人做可爱福利| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 天操老女人| 人人搞人人插人人操| 337p大胆噜噜噜噜噜91Av| 超碰这里只有精品| 日韩福利综合一区| 日韩一级二级在线| 亚洲欧美校园| 性爱久久| 91模特在线观看| 欧美婷婷五月天| 亚洲做性| 亚洲欲色9532548967一区| 天天日夜干| 伊人五月天青青草婷婷| 中文字幕精品探花视频| 大香蕉色网| 精品欧美А∨无码黑人大荫蒂| 大香蕉啪啪啪啪在线| 欧美成人四级在线播放| 九九九九九九免费视频| 色五月综合| 日本成人在线不卡一区二区三区 | 日逼逼免费看| 91激情国产| 亚洲综合色网| 性爱视频免费网址| 色色五月婷| 亚洲久9| 亚洲天堂另类小说男人| 黄色一区二区秘书性感| 超碰97日韩| 精品久久久久,69国产成人精| 亚洲 小说 欧美 激情 另类| 女生自91网站| 91狠狠综合久久| 久久久96| 五月婷婷hd| 亚洲AV成人在线| 亚洲欧美日韩制服另类| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美日日人人天天| 欧美 亚洲 制服 精品| 欧美色性爱| 日本一区二区不卡| 国产精品色| 91色噜噜狠狠| 亚洲高潮少妇| 国产97视频免费观看| 九九视频黄色片| 激情久久日韩精品中文字幕麻豆| 国语人妻精彩刺激| 久久婷综合| 欧美大香蕉久| 97啪啪| 啊啊啊慢点| 九九九热精品| 欧州激情视频在线一区二区| 操人91| julia高潮后不停追击中出| 96精品久久| www.国产高潮精品| 日韩中文字幕人妻视频| 无码外流操逼视频| 成人无码电影在线观看网| 人妖欧美一区二区| 热天堂一区二区| 裸体美女国产免费久久久网站| 久久国产热视频97电影| 欧美性爱日韩性爱| 日韩免费看在线黄色片| 吖在线不卡一区二区国产剧情 | www.操| 狠狠狠狠狠| 伊人成人中文字幕久久网| 去干网最新版| 大香交伊人网| 91亚·色| 人人澡综合涩| 男人的亚洲天堂| 亚洲drav色图| 91美女视频直播| 九九九九九九九九九国产精品| 久久色精品视频在线| 深夜福利黄片| 成人免费毛片| 国产精品探花在线| 五月婷婷激情| 少妇同性| 亚洲情色 自拍| 久久午夜色播影院免费高清| 波多野结衣AV无码一区| 久久激情亚洲精品无码?V| 性爱1区| 精品精品精品| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 欧美色图在线视频少妇| 亚洲人妻色图| 亚洲男人综合| 强奸a片网| 久久大香蕉手机高清| 亚洲日韩乱码中文无码蜜桃臀网站 | 欲射影视| 蜜桃臀久久| 久久人| 国产一区二区三区免费视频在性观看| 人摸人人操人| 好吊色一区| 国产后入清纯| 强奸乱伦免费网站| 色色激情五月天| 国产女人9999| 欧美色亚洲| 国产精品亚洲美女久久久久| 国产偷仑| 久久久久久9| 一本色道综合久久欧美| 欧美中文综合| 欧美天天性| 国产精品熟女乱伦| 中文字幕版| 91天美| 日韩不卡a级视频专区| 国产一级久久久| 亚洲全色网| www.夜夜操| 97在线资源| 免费观看性欧美一级| 久久久久久久久久久久久9999| 欧美啪啪色吧在线| 天天爽天天爽| 少妇的嫩逼图片| 成人性爱电影一区二区| 岛国不卡超碰护士AV在线播放| 中文字幕高清精品一区| 东京热一区二区三区四区五区六区| 欧美色图20P| 精品一区二区亚洲国产| 啊啊啊啊啊好舒服视频| 99在线无码精品秘 入口黑人| 亚洲天堂日本| av天堂手机版追回| 欧美伊人电影| 久久精彩视频9| 亚洲 欧美 精品专区 极品| 婷婷午夜| 中日韓欧美高清| 91狠| 国产成年免费大片黄在线观看| 极品少妇99| 性开放中文AV高清无码免费看| 色综合久久夜色精品国产天堂| 亚洲天堂在线怕怕视频| 夜夜嗷嗷一区二区| 婷婷激情五月天小说网| 国产999精品久久久| 免费的av网| 中文字幕人成乱码熟女香港| 亚州九九九精品视频| 婷婷丁香五月综合| 国产亚洲日韩欧| 香蕉精品二区二区| 五十路熟女工口 | 久久超碰、| 无码精品蜜桃一区二区三区ww| 91欧美色| 久久久久久久久久久999| 人人插人人搞人人操| 日日躁夜夜躁狠狠躁超爽| 和协无码影院| 五月天色综合| 欧美色五月| 亚洲欧美综合图片| 中文字幕88av在线| 99久久网站| 成人av福利在线观看| 风间由美日韩欧美久久| 蜜臀久久精品久久久久视频| 久久久久久久九九九九九九| 亚洲各类熟们中文字幕| 亚洲色图欧美一区二区不卡| 91超碰在线播放| 欧美色图私拍91| AA丁香综合激情| 欧美一区二区三区另类精品| 熟女探花啪啪| 性91| 欧美成人精品一区| 精品熟妇视频一区二区| 性爱AV天堂| 欧美老熟另类| 北京专精特新企业招聘信息| 国产高潮AA片免费看| 国产懂色精品国产av| 99国产在线 精品 视频| 日本操逼视频不卡直接放| 成人毛片免费| 精品无码一区二区三区| 精品美女久久久久| 五月婷亚洲精品天堂| 国产精彩女在线观看视频| 久久熟妇五十路一区| 日本美女性生活久久久久久久| 日韩精品 资源| 亚洲天堂性爱| 成 人 影视 一区 二区 三区 四区 | 26uuu国产成人综合| 无码人妻一区二区三区色欲aⅴ| 亚洲色狠| 欧美日韩*字幕一区| 国产成人免费观看在线视频| 91精品黄在线观看| 99热这里只有精| 丝袜美腿欧美| 超碰97最新人妻| 中文字幕免费看| 亚洲人妻色图| 三级日韩一区二区三区| 日韩乱伦影音先锋| 色色婷婷五月| 久久久9视频| 国产精品不卡一区二区三区| 不卡六六在线91| 久久 精品| 免费啪啪av| 性爱乱伦网址| 丁香五月天婷婷姐| 99re在线视频国产| 人人操人人射人人干| 国产综合操逼高清| 日韩成人大片一区二区| 精品一区二区三区蜜桃臀赵总 | 四虎在线观看网站| 亚洲综合九九| 自拍偷拍 日韩无码| 乱伦图一区| 东北女人av| 欧美亚洲特P| 欧美自拍偷拍综合图片| 95人妻爽爽人人做人人澡| 麻豆AV96熟妇人妻| 诱惑网综合| 亚州AV无码国产精品| 欧洲Au麻豆| 一二三区精品视频| 金莲网址| 久草精品国产蜜臀| 97网色| 人、人、摸,人、人、草| 久久久9品一区二区三区| 一本色道熟妇| 色爱三区| 男人天堂网手机版婷婷| 亚洲国产av中文字幕久久| 久妇网| 热99这里有精品综合久久 | 成人福利视频网| 91丝袜熟女| 在线观看一级α片刺激高潮视频| 又大又黄国产| 亚洲欧美日韩偷拍色图| 日韩中文欧美| 大奶的诱惑| 日本天天操| 日韩青久久| 天天视频综合在线观看视频| 久超超碰| 强奸乱伦麻豆| 99热这里只有精品1| 亚洲精品无码久久AV| 91丝袜美腿网站| 欧美一区二区三区互相| 少妇同性| 亚洲av综合色| 久久111| 国产女同视频在线播放| 毛片麻豆91糖心精品毛情片| 日韩黄色一区二区三区| 日韩成人小视频| 伊人成人中文字幕久久网| 在线日韩精品一区二区三区| 精品v1区| 国产精品宅男免费| 激情黄色片在线观看| 久久性视频| 国产精品噜噜噜日日日| 操九九九九九九| 欧美强奸乱能| 97伊人网| 操操操操网黑人| 性爱乱伦视频免费| 91老熟女老女人国产老太| 俺去俺来也在线www| 另类欧美色| 亚热日本熟女| 国产尹人在线视频免费| 91人妻人人澡人人爽人人精品| 超碰在线97国产| 久久久五月天| 亚洲精品第一| 亚洲色图尤物视频| 欧美天天性| 国产AB视频| 99啪啪| 精品一区二区三区蜜桃臀赵总| 精品国产91内射久久| 久区视频| 九九九九一级| 欧美白嫩在线放| 大香蕉伊人色偷偷在线| 在线视频日韩欧美国产| 欧美国产精品久久九九| 亚洲图片91| 97欧美久久久久久久| 免费看污网址| 欧美丝袜激情| 亚洲国产综合久久久性感熟妇| 2024人人操人人摸| 国产黄色av大片网站| 偷拍亚洲熟女视频播放| 97超碰人妻| 欧美高清色| 4虎在线观看| 成人青青草原伊人| 岛国999| 99日免费视频中文字幕| 日韩午夜国产| 天天综合网入口~91| 97硬碰| m欧洲一级午老| 第四色色综合91| 99精品热| 精品视频久久区| 国产吹潮女在线观看| 亚洲AV色图一区| 一区二区不卡免费| 欧亚 另类 久| 中出20p| 91视频综合网| 2021国产成人精品久久| 国产无马在线| 激情抓乳插进去啪啪啪日韩| 亚洲一级特黄大片在线播放91| 欧美一区二区一级岛国大片| 蜜乳中文字幕a在线| 日韩中文字幕精品一区在线| 99久久精品无码一区二区毛片免费| 欧美人黑A片无码免视费| 性色av大全| 国产午夜无码片在线观看影视| 成人综合久久精品色婷婷| www.久久| 日本精品免费一区二区三区四区| 国产久久久久久| 美女十八禁| 国产品精品自在在线午夜免费| 国产亚洲日韩欧| 综合啪啪| www.91欧美| 熟妇一区二区| 午夜国产成人精品视频| 级做a爱无码性色永久免费| 成人免费福利在线观看| 欧美日韩国产中文超碰| 九九九草| 一级二级三级黑人无码| av九九| 啊操爽品善一区二区三区| 日本一二三免费久久| 久久精品国产亚洲AV高清演员表| 丁香婷婷啪啪| 欲色啪| jazzjazz国产精品麻豆| 97综合在线| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 3p国产欧美99热| 日韩97超碰中文字幕| 亚洲色图 综合| 91综合色噜噜| 清柠毛片| 天天射天天色成人| 午夜久久无码1000合集| 日本不卡二三区| 五月天婷婷在线看| 亚洲美欧999| 永久免费观看的毛片的网站| 成人看片网站| 欧美色图另类图片| 日韩国产中文字幕| 欧美,日韩,中文,另类| 国产区性爱在线视频秋霞豆| 久久伊人青青草| 2019天天干| 7月婷婷综合| 另类图片欧美激情综合| 日韩伦理久 久久 清纯| 亚洲AV无码乱码| AV一二区| 1769国内精品视频| 97 九色| 日韩性爱视频免费在线 | 国产欧美伊人| 日本国产欧美一区三区二区| 夜夜爽33333| 亚洲情色综合| 99免费视频| 日本伦乱九九九综合| 国产小炒后入式| 乱伦系列一区二区| 美女91| 一区| 亚洲av无码成人精品国产| 亚洲激情综合另类| 国产精品久久久九九九| 黄色高清无码无码破解免费暗网| 骚鸭AV| www.一本大99| 中文自拍欧美影视| 日本加勒比无码专区| 中文字幕片| 亚洲福利中文字幕在线| 99999re| 99福利社| 久草精品一区| 国产精品无码成人精品| 中文字幕一区二区三四五区日日骚| 蜜乳av首页| 亚洲97久久精品亚洲| 老司机午夜精品视频| 99少妇内射| 日韩综合色网| 久久人妇| 99九九久久| 成人欧美一区二区三区黑人一| 无码天天操| 日产操逼| 国产400孕妇孕交群| 久久久久国产| 色诱中文字幕| 色欧美天天| 99热精品免费| 婷婷综合五月天| 欧在线一二区| 精品久久久久黄少妇| 少妇厨房愉情理伦片bd在线观看| 亚洲妇色| 欧美劲爆视频一区二区| 香蕉99秘 一区精品蜜桃臀| 欧美在线色图| 大香蕉一线视频| 东京热毛片177b2viP| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 大逼色网站| 人人摸人人干| 狠狠激情综合狠狠操中文字幕| 91狠狠综合网| 亚洲人久久久网| 综合色图亚洲欧美| 欧美黑人精品在线播放| henhen91| 97在线观视频免费观看| 五月婷婷综合在线| 亚洲中文一区二区三区| 亚洲女人91| 激情综合av| 五月丁香啪啪啪| 国产精品久久久久亚洲av| 欧美懂色综合网| 91欧美丝袜| 99999久久久久9国产精品| hd成人一区二区在线| 国产强奸乱伦第1页| 天天躁夜夜躁狠狠躁AV| 97久久资源| 色青青久久影视| 欧美人人操人人插| 午夜一区| 亚州九九九精品视频| 久久综合日韩亚洲欧美| a在线视频免费观看| 精品日韩人妻视频| 日日夜夜骑| 骚人妻少妇视频| 久久的网站啊啊啊啊啊| 婷婷99狠狠| 免费看A片毛毛片在线播| 精品无码欧美三级| 大香蕉草草| 久久亚洲天堂| 又摸又舔在线观看网站| 99国产人成精品| 激情看片网站| 在线观看亚洲专区| 激情熟女12P| 少妇久久久久| 高清无码91| 精品人妻伦一区二区三区久久| 日韩99神马视频播放| 熟女人妻av在线资源,黄色的资源| 欧美三级中文字幕hd| 亚洲图片日本AⅤ欧美在线| 91肉片| 天天日天天干少妇日| 18精品一二区| 伊人久久亚洲色欲综合网站 | 五月天偷拍| 一本一道vs波多野结衣| 国产精品 久久久精品一牛| 欧美欧美啪啪视频| 无码人妻精品酒店| 999久久久九九九九| AV色女综合| 天天夜夜rb| 久久有码视频| 超碰久草| 天天爽入口| 在线播放中文字幕| 超碰一区二区| 熟女久久久| 国产一| 91劲爆| 老鸭窝日丰县女人| 久久久精品中文字幕麻豆| 色男人色天堂东京热| 骚熟女吞| 九九九九九精品十六| 欧美韩国你懂得在线 | 人人妻人人色| 欧日韩在线观看| 天天干人妻| 东方亚洲在线操逼天堂| 日产成人久久| 干美女人妻| 国产激情在线| 国色综合天| 九热中文字幕| 国产高清成人免费视频| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 欧美三级一级| av情色影音| 熟女欧美日韩综合婷婷| 亚洲成人妻日韩在线| 大香蕉青青9| 人妻色情天天操| 九九热av| 国产老太乱伦一区| 日本一区二区三区午夜观看| 日日夜夜精品| 91精品啪在线观看国产城中村| 立川理惠加勒比无码| 久久思思热| 国产有码一区| 狠狠躁天天躁日日躁| 熟女91网| 91老司机在线| 欧美性生活男人的天堂| 青椒国产97在线熟女| 欧美日韩性爱视屏免费看了| 一起草av| 国产久久一区二区三区野外在线| 麻豆精品天美| 欧日韩一二三f区| 亚洲国产综合视频| 又大又长又粗又爽又黄| 日本亚洲熟女视频| 久久久草成人网站久久久草成人久久久草久久久| 九九九九九九亚洲| 加勒比伊人综合| 好涩综合| 97资源视频| 日本精品第一视频在'| 亚洲夜色在线| 极品后入免费视频| 美女黄色91| 亚洲 无码 偷拍| 亚洲国产麻豆一区二区三区 | 97综合在线观看| 久久久禁| 欧美97色| 天天躁日日躁xxxxx| 国产激情久久久| 天堂国产AV| 超碰欧美COM| 国模无码人体一区二区三| 色青青久久影视| 午夜福利久久久噜久噜久久综合 | 欧美色网| 十八禁成人网站在线观看| 9久精品| 亚洲精品天天影视综合网| 国产成人啪一区二区| 91精品国产91久久青草| 久久无码电影| 中文字幕一区二区三区蜜臀| 精品一区二区久久| 亚洲国产丝袜熟女av| 屁屁影院一区二区三区国产| 91久久精品国产| 精品欧美日韩在线观看| 又粗又长又大国产不卡| 国产一区二区欧美日本| 嫩草 人人网精品| 殴美色网| 岛国大片在线观看网站入口| 亚洲色偷偷色噜噜狠狠99网| 少妇专区一二三四五| 97手机日韩| 91强奸乱轮| 日韩三级在线观看mp4| 国产9l 大屁股| 太久视频| 蜜臀AV成人精品蜜臀AV久久| 99re视频在线播放青草| 激情国产乱伦Av| 伊人色综合超碰| 欧美日韩久久精品爱爱| 亚洲乱码国产乱码精网站| 亚91亚洲网| 精品久9| 亚洲欧美激情在线视频| 97精品视频网站| 日本影视久久免费| 丁香六月啪啪| 亚洲极品| 国产精品免费日韩| 欧美性,亚州色| 无码人妻一区二区三区免费九色| 不卡免费av在线播放| 欧天美中出| 岛国1区2区3区在线观看| 亚州伊人色综台| 久久东京热成人| 亚洲欧美日韩精品久| 一区二区三区无卡视频在线观看| 日本久久女同性恋视频| 天天日日夜夜| 九九九不卡| 99久久精品国产高潮| 9长久久精品| 日韩高清黄片| 曰本精品久久久| 又大又大又大又粗爽高潮观看| 婷婷五月天综合网| 大逼色网站| 午夜精品视频777| 91熟女视频网|