日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
欧美18 在线观看| 久久综合日韩亚洲欧美| 一二三四区电影| 性色avv| 国产激情在线| 久久久久久日韩| 99热这里都是精品| 欧美影音在线| 九九英色视频| 丁香激情五月天| 久久一区二区高清免费| 精品成人动漫一区二区| 日本一道在线播放高清| 深爱伊人影院| 亚洲高潮影院| 天天色图| 超碰人妻97| 日本道日本道中文字幕日本道最新日本道在线观看 | 97资源视频| 亚洲欧美首页| 国产久久久久久| 色亚洲欧美| 四虎影视永久在线观看精品免费网站| 精品中文一区二区| 91国产丝袜美女| 欧美欲色| 国产精品熟妇一区二区三| 18精品一区| 天天干一区二区| 99热这里都是精品| 97超碰天天| 久久久久久久人妻| 97天天摸天天碰| 国产日比| 色九久| 少好三P| 夜夜嗨一区| 97中文字幕九区| 久久这里只| 熟女人妻精品一区二区视频 | 丝袜熟女一区二区三区| 亚洲欧洲综合视频在线| 国产日本熟女顶级一区二区三区视频| 大香蕉十区| 嗯啊不要啊啊在线观看视频| 好看的91视频| 三及片网站| 啊啊啊啊网站| 久久性爱精品一区| 亚欧无码在线| 成年女人18级毛片毛片免费观看| 天天摸,夜夜摸| 亚洲色图激情小说| 99色日| 91 国产丝袜在线播放-百度| 日韩大香蕉AV影片| 99re热有精品视频国产| 大香蕉色十月| 欧美中字二区| 免费试看60秒| 国产性爱乱伦AV| 麻豆国产免费影片| 久草视频制服诱惑| 欧亚揄拍偷拍精品视频| 人人妻人人澡人人爽人人精品浪潮| 亚州色综合| 一区二区乱码福利| 操逼逼无码| 性欧美另类高清| 国产 大胆 对白| 97人妻人人躁人人玩人人| 91综合色| 亚洲综合在线视频| 啊啊啊在线观看免费视频| 粉嫩av一区二区三区四季| 91美女视频。| 日日做夜狠狠爱欧美黑人| 日韩亚洲97| 香蕉视频欧美一卡二卡| 家庭乱伦网站国产| 10000部十八禁看电影| 色婷婷日韩精品一区二区三区| 欧美亚洲91| 老司机老司机午夜影院| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 色五月婷婷久久| 日韩欧美水蜜桃人妻| 婷婷性网| 美国一区二区免费视频| 色网综合网| 国产亚洲色停停久久99精品91| 国产家庭乱伦网址| 99re在线视频这里只有精品| 久久亚洲国产成人| 亚洲欧美大| 蜜臀va69| 国产99热| 婷婷8月天青娱乐| 国内毛片婷婷六月色| 麻豆区99999| 视频在线97| 另类小说综合网| 国产天天骚| 天天操天天插| 亚洲清纯综合| 2024人人操人人摸| 乱操9999| 欧美一区二区观看在线| 欧美成人国产精品| 久久亚洲AV无码专区首页| 啊啊啊97视频| 欧美一级久久久久久久大片动画| 亚欧美天堂在线| 精品久久久久久久| 欧美|91色综合| 99少妇| 麻豆国产免费影片| 中文字幕在线免费观看| 骚逼高潮久久精品| 国产粉嫩蜜臀av一区二区三区| 六月丁香啪啪| 资源新线在线天堂| 熟女在线视频| 日韩综合成人免费视频| 中国91AV| 性站| 久久国产在线一区二区| 69人妻精品丰满熟女区| 老熟女乱子伦中文字幕一区二区| 国产精品一区二区后入| 性天堂| 清纯唯美亚洲综合| 五月天婷婷综合网| 亚欧免费| 韩日欧亚a级| 99视频精品| 天天92av| 欧美青青视频| 天天操夜夜操| av激情亚洲五月天| 一区| 亚洲人久久久久日| 中文字幕91综合| 伊人操你| 九99久久| 91国产精品熟女| 国产强奸乱伦欧美| 亚洲宗合网| 青娱乐日韩无码| 91 丝袜在线播放| 国产精品视频播放| 五月天婷婷基地| 操碰97| 亚洲97成人在线观看| 中出789在线视频| 久操视频资源站公开| 日韩情色一区二区| 怡春苑东京热| 天天色粽合合合合合合合| 中国人高清www色视频免费| 亚洲性少妇| 色五月婷婷久久| 国产狂喷潮在线精品| 久久超碰天天| 97 国产一区| 在线视频日韩欧美国产| 欧美系列在线一区二区| 欧美不卡五十路| 一区二区播放| www.av不卡中文字幕| 国产视频一区二区在线观看| 8050午夜少妇无码| 一起草欧美| 欧美男人的天堂| 亚洲精品欧洲精品| 久久中出在线| 综合国产97| 免费黄色片子| 无码av永久免费专区网站| 高潮9999外国| 亚洲精品第一| 久久精品国产亚洲AV高级北京| 97超碰伊人| 青青草十区九区爱夜| 视频分类 国内精品| 欧美男人一区| 人人考人人摸人人干| 精品国产Av无码久久久亚洲| 欧美AB在线| 久久精品六区| 大香蕉92| 丝袜天堂网| 亚洲欧洲色情高清| 牛牛久久国产精品视频一二三| 一区二区三区在线资源| 久久九九网| 欧美系列在线一区二区| 搞中出久久| 国产精品嫩草影院午夜两性| 日本一区二区三区免费观看| 日本一级真人黄色性爱视频| 成人性生活高清视频在线播放| 欧美激情精品久久久| 国产精品久久久久久久久久久久久久久| 青青操97| 中文字幕乱碼在线| 欧美天天谢综合网| 狠狠做深爱婷婷久久二区| 日韩传媒在线| 免费超碰97久久| 中文字幕伊人| 乱操9999| 亚洲性高潮| 欧美性性性| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 精品999一区二区| 久久在肏| 人人爱人人乐人人操| 欧美亚洲中文| 免费又黄又裸乳的视频| 啪啪啪精品视频| 一线黄色免费性爱片| 天天色,天天干,天天干| 秋霞一级视频在线观看免费| 天天日天天插| 成人精品电影| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 人妻激情偷乱视三区频一区二区| 日韩成人电影AV| 97人人射| 加勒比日本在线| 国产一区二区免费福利片| 久久久久9999妇女| 国产成年精品高清在线观看91| 成人av毛片在线观看| 国产一级特黄大片处女| 日日狠狠久久偷偷色综合免费| 91在线美女| 欧美A√综合网| 97精品97久久| 欧美不在线| 久久黄片国产一区二区| 免费啪啪啪网站18岁| 日韩另类色图| 亚州男人的天堂| 国产精品丝袜在线| 八戒午夜福利理论片| 新婚人妻扶着粗大强行坐下| 久久综合18p| 超碰这里只有精品| 男人的天堂 在线一区| 国产黄片在线免费观看| 懂色AV一区二区三区| 啊啊啊快操我视频| 干超碰碰熟女| 国产超碰人人爽人人做| 天天淫人人妻日日色| 亚洲人码13| 国内偷拍精品一区二区| 天天干天天爽| 欧美极品色| 一本色道综合久久欧美| 久久一二三四五六七八九区区区 | 国产性刺激| 91日韩网站| 国产一区二区三区白丝| 天天综合网一91网| 日韩15p| 亚洲最新中文字幕免费| 99热aaa| 日本媚薬中文字幕在线| 欧美精品自慰系列寂寞少妇| 久色99999| 中文字幕一区二区三区四区在线视频| 亚州精人品大香蕉| 99re99在线视频| 特级毛片特黄久久免费看 | 91视频精品| 97在线精品| 日韩 女同 综合| 成人自拍三级在线观看| 成人无码专区精品视频| 91久久久亚洲| 欧美制服网站美腿丝袜| 啊啊啊啊啊好多水| 天天综合91在线| 日韩97超碰| 一区二区视频在线播放| 色网1| 日韩Va亚洲va欧美Ⅴa久久| 色诱avtt| 亚洲无码一二三区| 欧美在线干| 93人人操人人| 婷婷精品久久av影视| 亚洲国产一级精品毛一级精品看免费视频| 成人热久久精品| 在线色导航| 亚州色图欧美| 爆操无码| 少妇无码999| 亚洲有码 视频一区| 99av| 自拍欧美| 操B在线观看| 大香交| 色色色综合网| 国内精品a| 加勒比伊人综合| A片 AV一级在线播放观看免费 | av天堂精品久久| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | nuu12国产麻豆精品| 免费一级毛片在线视频观看| 亚洲中文字幕精品一区| 激情五月天校园春色网| 日本欧美国内在线| 中文操逼字幕| 亚洲清纯唯美| 欧美三级一级| 美女尤物人人操| 国产综合久| 久久a久久| 近亲乱伦一区二区| 国产精品美女| 91精品人妻啪啪间| 天天综合AV| 色官网色综合| 国产白丝精品在线观看| 欧美亚洲厕所精品偷拍91| 日韩视频啪啪| 天天射天天操天天干天天吃2018| 啊啊啊不要嗯嗯在线观看| a片久久久久久久久久久久 | 97干在线看| 激情国产乱伦Av| 91天天综合在线观看| 天天干天天操天天拍| 小日子操bb在线看| 人人爱人人乐人人操| 97操在线| 18岁禁 茉莉成人久久| 欧美视频边做饭边橾| a级免费在线观看| 日韩丨制服丨中文|在线| 美女露胸露奶头| 无码抄逼网| 五十路六十路素人熟女| 久久手机视直播| 福利伊人玖玖国产| 国产精品视频91久久| 骚日日av| 91高潮喷水美女| 亚洲精品久| 99操99| 欧美性爱十八禁| 黄色操人| 青娱乐休闲视频在线观看| 2003天天干夜夜操| 亚洲色入欧美| 少妇人妻激情四射| 啊啊啊快操我视频| 色综合99999| 久久99深爱久久99精品| 在线视频资源| 综合久久99| 91在线精品一区二区三区| 九九九九日本 | 久肏视频字幕| 中文字幕二区| 97一本大道亚洲一区| 美女尤物福利视频| 婷婷五月天小说| 柠檬AV导航| 国产区性爱在线视频秋霞豆| 少妇xx精品| 免费无码国产精品v片在线观看| 亚洲欧美日韩偷拍色图| 人人操人人干xxx| 91在线视频国产网站| www.男人的天堂| 欧美色九九| 日韩精品一二三| 欧美色九九| 热热色91| 玖玖爱在线视频免费观看| 草草电影院| A一区片| 日韩熟女操逼| 操逼操逼视频操逼| 超碰人人色| 大胆91| 超碰亚洲欧美日韩无| 欧洲无码一区二区| 5252色欧美在线| 蜜桃臀久久| 日韩电影中文字幕| 久久 精品| 91AV入口| 日韩视频啪啪| 日本久操视频| jiujiujiujingpin| 91M一社| 午夜美女福利视频| 在线综合色| 久久丁香| 高潮嗯啊性感美女久久久| 久久久久9| 18精品一二区| 免费看黄片现成| 国产AV久久野战精品| 亚洲国产无码精品首页久久久| 志村玲子视频一区二区| 麻豆国产成人精品| 日本不卡一区二区| 黄色免费网页无码| 天天做天天爱天天爽AV| 热G综合热G中文| 狠狠操狠狠操操| 天天看天天在线精品| 婷婷五月成人| 欧美少妇高潮久久91| 久久青娱乐| 国产精品一区二区手机看片| 天天肏夜夜肏| 97精品97| 屁股久久久久久久| 91久久久久久| 丰满人妻一区二区中文| 在线视频免费观看午夜| 91一起操| 操91| 国产性爱在线视频一区二区| 91人妻爽爽人人做人人澡| 粉嫩小泬久久久一区二区| 麻豆91熟妇人妻中文字幕茄子| 天天色天天干天天爱| 99久热| 欧美体内射精| 欧美日韩电影成人在线| 亚洲中文人妻色| 精品无码久久| 色小视频蜜乳| 欧美最大综合网| 一级成人性爱| 国产九九久久久精品| 欧美操逼录像国产黄色国产| 久久性视频| 欧美第一页| 成人性爱av| 91红杏| 高潮精品| 超碰亚洲欧美日韩无| 亚洲第一视频 欧美风情 日韩| 日本免费一级AAA大片器| 综合网,亚洲,欧美| 2024年最新色情网站在线观看| 五月丁香狠狠爱| 午夜视频久久久| 日本欧美亚洲高清在线看| 天美精品一区二区三区四区在线观看| 成人午夜高潮av猛片| 亚殴在线| 亚洲一区在线观看欧洲| 99热精品青草在线 | 亚洲国产午夜真人一级片中文字幕精品黄网站| av亚洲天堂资源网站| 久久精品国产亚洲AV先锋| 久久久精品国产亚洲伊人| 极品色综合| 亚洲精品一区中文字幕乱码| 特色a在线上| 熟女在线视频| 国产欧美日本亚洲精品| 欧美在线大香蕉| 精品人妻中文字幕4399| 日本新免费二区三区| 久热香蕉精品在线视频| 亚洲激情在线| 久操高青| 日本性爱不卡视频| 欧美色网络| 最新加勒比丝袜在线| 国产又黄又爽| 色香在线| 青青草日韩无码| 黄色视频高清无码网站| 老司机久久| 一区二区三区精品久久| 97干97色| 色欧洲97| 校园春色 男人天堂| 3PAV乱伦视频| 91少妇香蕉久久精品| 大伊香蕉在线视频免费| 2017天天插| 成人网欧美风情| 日韩一级成人毛片免费观看| 我要色综合网| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 女同性恋久久| 国产白丝精品在线观看| 日韩久草| 91啪9色| 手机在线看片免费人成视频| 亚洲阿v天堂在线| 亚洲污污网站| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 一区二区三区色综合| 99re国产中文字幕| 亚洲AV无码乱码| 色综九九九一区| 亚洲aw毛茸茸在线 | 91色夜| 四虎视频在线观看| 午夜大香蕉| a一区二区三区乱码在线| 久久九九97| 九九九九欧美| 99婷婷一区二区| 男女香蕉一区二区| 中文字幕精品人妻丝袜| 国产免费一区在线观看| 激情专区综合| 欧美的性爱网站免费| 亚州九九九精品视频| 91在线丝袜| 99热大香蕉伊在线| 操迟操逼在巾线Fre看| 久久久久久九九九九九| 日韩97视频| 大香蕉99热| 日本精品一区三区| 色丁香五月婷婷| www.黄色在线| 人人操人人摸人人看人人插| 欧美色图20p| 日本三级精品| 亚洲精品97p| 青青草久久| 撸撸成人在线视频| 欧美一二三区四五区| 亚州精人品大香蕉| 91狠狠综合久久| 欧美日韩中文亚洲v在线综合| 国产又黄又爽又刺激久久久久久| 2020久久免费视频| 探花精品 一区二区| 99夜夜操| 麻豆天美一区二区| 婷婷色香伊人| 亚洲精品久久久久毛片A片拉屎 | 国产97亚洲| 久久久久久久久久久久97| 蜜桃臀久久| 色婷婷一区二区三区久久午夜成人不| 少妇内射视频| 亚洲 无码 有码 中文字幕| 999九九精品| 日日日色色色色色| 超碰社区97| 日韩本不卡视频在线观看 | 人人扣人人操| 91丝袜美女国产| 国产成人亚洲精品自产在线| 3571色综合一区二区二区| 久久怡红院| 97超碰jingpin| 日韩精品三区四区| 成人五月天色网| 久久久男人的天堂| 竹菊一区二区三区AV线| 夜色91| 亚洲麻豆av一区二区| 日韩一区二区精彩视频| 亚洲国产欧美一区二区潘金莲| 久久久久久人妻一区精品色欧美| 久草视频在线视频在线视频在线观看| 五月天婷精品激情| 26uuu欧美| 91色综合激情| 97伦乱| www亚洲欧美| 日韩有码 一区二区三区| 天天做日日做| 综合久久婷婷| 成人热久久精品| 亚洲综人网| 久久久久九九九| 天天色天天干天天射| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 后入人妻一区| 91精品国产91久久久久久久久久久久| 欧美综合网| 亚洲天堂人妻熟妇视频| 亚洲人妻一区二区三区| 日韩ab网| 深夜国产福利| 青娱乐久久艹| 北京专精特新企业招聘信息| 91日日夜夜| 百度百度日本操逼| 人妻精品视频一区二区| 久久久av爱| 999国产精品999久久久久久| 成人乱人伦一区二区| 开心激情站| 欧美激色| 一起草欧美| 99少妇精品视频| 人妻 欧美亚洲| 久久25| 久久9精品视频| 极品美女福利在线观看| 精品免费囯产一区二区三区| 久操影视| 青草影院内射高潮| 日韩精彩免费| 中国少妇啪啪视频| 精品国产乱码久久久久久口爆网站| 日韩偷拍色图| 麻豆AV一区二区天美传媒| 搡老女人老妇女AAA一VU麻豆| 91neishe| v91av| 一区三区啪啪| 91操人| av天堂精品久久| 有码人妻系列| 丝袜美腿av女优在线| 啊视频在线| 久久噜噜噜精品国产亚洲综合| 在线色导航| 欧美色图亚洲特色| 囯产精品久久久久久久久久梁医生| 激情五月婷婷综合| 啊啊啊好大好深| 成人日本视频人妻在线| 亚洲精品97久久中文字幕| 中文字幕精品一区二区精| 婷婷丁香一区二区三区| 久久亚洲欧美中文字幕国语| AV在线资源| 9丨亚洲一区二区在线| 久草色悠悠在线视频| 欧美精品69性爱| 日本精品88888888| 国产无码精品高清| 性色av一区二区| 国产网红精品| 亚洲天堂资源| 婷婷丁香五月激情啪啪| 97超碰欧美手机| 91欧美高清| jazzjazz国产精品麻豆| 久久做97| 美國A片| 久久黄黄黄| 超踫中文字幕| 五月丁香黄色网| 人妻 欧美 中文| 午夜偷拍久久熟女| 欧美天天影院| 日韩人体偷拍| 69少妇一区二区| 日韩不卡一二三四| 久热久| 久久婷婷电影网| 大肉棒导航| 女人高潮大叫一级毛片| 综合久久9| 97视频620| 国产 v乱码一区二| 亚洲熟女综合一区二区| 熟女中出视频| 国产精品香蕉热久久新品| 欧美色交| 久草资源欧美在线视频| 国产精品久久久久无码AV会牛| 中国91AV| 啊啊啊啊啊啊啊啊啊啊在线观看| 强免费黄色网址| 日本淫乱女一区二区三区视频| 欧美 日韩 另类 亚洲| 日韩乱伦视频| 久久无码一区二区二三区性色| 热的中文 热的有码 热的国产| 五月婷视频| 91人妻最真实刺激绿帽| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 久久一级无码精品毛片6| 欧美熟妇色| 日韩精品9999| 欧美另类色图片| 成人5码视频| 日韩三级伦理中文字幕| 91天天爽| 精品9区| 暖暖精品二区三区观看| 欧美性爱另类综合| 夜夜操青青草| 欧美日本成人一区二区| 婷婷探花久久精品一区| 日韩人妻无码精品系列| 天堂蜜桃无码视频一区二区| 国产中文字幕曰本毛片| 亚欧毛片基地国产毛片基地| 91人妻熟女| 国产AV天美传媒一区二区三区 | 欧美日韩亚洲少妇寂寞影院正在播放 | 啊视频在线| 97在线观看播放视频| 色吧91| 成人性交免费视屏| 欧美亚洲清纯| 亚洲精品97中文字幕| 69人妻精品丰满熟女区| 亚州操操穴网| 猛交交| 久久久婷婷| 桃花色涩综合影院| 婷婷中文网| 久久久久久国产无码精品| 日韩激情无码影院| 热思思免费视频| 又大又大又大又粗爽高潮观看 | 玖玖玖玖精品国产剧情| 人妻少妇被猛烈进入中| 强奸乱伦AV一天堂网| 欧美色女人| 久 久无码人妻AV| 性一级黄色录像片网站导航 | 丁香五月婷婷五月| 国产亚洲在线观看| 婷婷丁香久久| 开心五月婷婷| 国产天美欧美| 久久人妻办公室视频| 欧美天天综| 久久性爱城| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 午夜呻吟欧美| 欧美成人性爱视频大全| 操婢日韩| 蜜乳av一区二区| 91香蕉视频在线观看免费| 看免费的黄片| 一个国产在线综合网站| 亚洲免费成人在线高清无码视频| 久久久久久电影| 3028国产精品| 亚洲综合九九| 精品国产乱码久久久久A| 射 色综合| 国产农村妇女精品一二区| 久久神马影院| 日韩人妻精品| 老司机香蕉| 91精品人| ..日韩av毛片精品久久久| 欧美不卡二区| 五月天激情综合网| 好湿好紧好爽 视频| 操美女人妻| 狠狠2050在线观看| 欧美精品成人亚洲| 亚洲色图片区| 免费观看一区| 久久久久久AⅤ无码免费肉站| 人妻铁牛TV| 天美传媒在线一区| 一区二区三区在线资源| 翘臀vidoes| 亚洲AV不卡在线观看尤物| 大黄片做爱的大的| 在线一道啪| 人人扣人人操| 少妇六月天| 91亚洲丝袜熟女| 午夜小电影在线插入淫高潮| 久久精品中文字幕观看| 亚洲色婷婷| 免费久久9999| 日韩999| 91九久| 九九九九97| 亚洲欧美另类激情小说| 国产精品无码在线| 日韩一999精品| 91色伦| 秋霞一集毛片观看| 91精品丝袜在线观看| 不卡码视频| 久久久极品| 欧美一级国产一级| 国内精品999| 国产精品69久久久久孕妇欧美 | 99久久久无码国产精品性啊聊| 精品一区二区综合熟妇| 久久久久国产亚洲一区欧美色图日韩 | 伊人一区二区三区| 久久国产精品m码| 日韩久久.一级黄色片| 欧美日韩m| 大香蕉手机在线| 色翁荡息又大又硬又粗又爽| 亚洲91极品| 91久久精品美女高潮喷水| 肏逼福利网站| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 亚洲Av诱惑| 人人射人人操人人摸| 自拍二页| 韩美日操逼| 国产日本熟女顶级一区二区三区视频 | 怡红院网站在线视频| 人人操人人干网页| 激情亚洲天堂| 澳门黄片一香蕉视频| 手机av天堂久久久久| 青青草好吊色| 国产精品色色| 91性网| 热久久这里只有精品| 久久久啊啊啊| 99精品久久| 午夜精品久久久久久久第一页按摩| 黄色片大香蕉| 亚洲色综网| 国产高清无码一区二区三区四区皇冠| 九七毛片九九毛片 | 东北女人操比视频| 久思思热视频在线观看| 日本精品免费一区二区三区四区| 色欲Av人妻精品一区二| 一道本东京热加勒比一区二区三区 | 屁屁影院一区二区三区国产 | 日韩黄色一区二区三区| 十八禁电影伊人网| 亚洲图片欧洲图片aⅴ| 78精品| 成人小电影网站tex| 免费观看国产小粉嫩喷水精品午| 清纯唯美亚洲综合| 亚洲美女高潮喷水视频| 91高清无码下载| 中文字幕狠狠玩| 精品亚洲国产成人AV制服丝袜 | 婷婷探花久久精品一区| 91人妻Pr| 91亚洲电影| 殴美日韩m| 秋霞网—男女啪啪亚洲免费体验区 | 69精品人人人人| 国产乱色国产精品免费视| 香蕉免费一区二区三区不读 | 亚洲色图20p| 黄色电影在线播放综合网站| 激情综合网一盗摄| 狠狠操综合| 熟女探花啪啪| 91爱做| 色综合色欲色综合色综合色综合| 亚洲久9| 嗯嗯啊啊视频一区二区三区| 1禁看欧美黄片免费看| 老熟女阿 国产91| 亚洲。日韩。欧美| 国产h片在线观看视频| 天天综合91入口| 欧美亚综合色图| 日本视频一区二区三区| 友优传媒精品在线一区二区| 亚洲丝袜色图| 成人性爱全视频观看| 久久久久九九九| 成人欧美日超碰| 婷婷久久综合| av绯色| 91人人| 日韩 女同 综合| 精品久久久av| 人人操人人摸人| 国产品精品自在在线午夜免费| 天天舔天天日天天射| 东京日日夜夜| 亚洲图片欧洲图片aⅴ| 国产97亚洲| 久操av在线| 宗合情欲网| 开心五月深爱五月| 欧洲成人性爱视频| AAAA欧美日韩| 操熟女91| 人人摸人人舔一区二区| 久久免费看高潮毛片韩国| 秋霞视频一区二区| 亚洲熟女性高潮久久久| 超碰色综合| 亚洲精品97久久中文字幕| 国产午夜视频| 亚洲人精品久久久喷水| 超碰人妻在线| 中文字幕123| 久久透逼视频| jazzjazz国产精品麻豆| 天天爱天天操| 久久婷婷苹果| 女上位精品在线| 日本大香蕉| 老熟女区| 狠狠躁AV| 夜色五月天| 99在线观看| 黄片www.| 亚洲av无线观看| 亚洲精品国产专区在线观看| 思思久热在线精品66| 色噜噜狠狠色综无码久久合欧美| 久伊人网78| 久久九九精品一区二区 | 操逼国产免费| 高清无码一区二区三区| 国产91会所女技师在线观看| 懂色aV一区二区天美传媒| 97色操| 欧美黑人与女人91| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产亚洲禁久一区二区| 日韩一区二区高清在线观看的| 天天日天天搞天天干| 一级人妻性爱视频| 国产真乱mangent| 91一区二区三区蜜桃| 国产主播福利| 国产在线观看91精品一区| 成人自拍三级在线观看| 91丨九色丨国产丨人妻在线| 都市久久精品激情亚洲| 天天谢天天干| 国产自产自拍| 日韩精品永久在线观看| 1769精品一区二区三区| 日本九九九九| 天美麻豆精品视频99| 英伦大奶子熟妇吊带| 少妇69中文| 中文字幕久久亚州无码| 91激情国产| 欧美日韩人妻精品系列一区二区三区| 综合少妇网| 亚洲色图一区二区三区| 国产在线观看一区二区三区| 国产成人拍国产亚洲精品| 色天使亚洲综合在线观看| 51一区二区三区| 成人av动漫在线观看| 天天爽天天| 2025亚洲男人天堂| 97bbn| av影院十区| 免费在线看黄片av| 吖在线不卡一区二区国产剧情| 狠狠色噜噜狠狠狠狠狠色综合久久 | 中文字幕日本久久| 玖玖综合.com| 欧美日韩婷婷中文| 色99久草| 中文字幕三四区| 亚洲h片在线免费观看| 久久久久国产精品片区无码直播| 久久精品国产精品亚洲艾通辽熟妇| http://qxhbdz.com| 超碰97最新人妻| 清纯唯美亚洲另类| 三男一女不戴套的A片| 亚洲午夜福利在线影院| 性色一线| 人妻素股| 日本成人在线不卡一区二区三区| 亚洲精品国产熟女| caorenqi shipin| 97超碰亚洲| 国产精品不卡少妇白| 中国少妇XXXX做受| 99久久久| 精品一二三区女同| 少妇综合| 欧美黄色片AAAAA| 青青操少妇| 少妇蹲下露出大唇5| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久久内射良家| 成 人 A V免费视频在线观看| 亚洲日韩成人性爱视频| 大香蕉十区| 婷婷激情四射| 特级丰满少妇一级AAAA爱毛片| 久操99| 超碰吊日色| 欧美,日韩综合久久| 日韩伦理久 久久 清纯| 欧亚三区动漫| 夜嗨影院| 天天澡天天爽日日av| 操碰97| 五月婷婷无码| 久久久久96| 国产二区视频在线观看电影| 日本人体九九九九九九| 日本道人妻久久久在线不卡色视频| 91东京热男人的天堂| 国产乱码久久| 91 综合网| 大香蕉黄色一区| 亚洲怡春院| 性爱边摸边日免费AV| 欧美精品91| 欧美一级在线观看成人| 少妇一线天久久久久久| 2020天天色综合| 亚洲αv一区二区三区| 天天α片| 人妻一区二区三区视频| 午夜久久一区二区无码中出| 中文字幕乱码在线观看| 色噜噜婷婷| 青青草原香蕉日本Ap| a在线视频免费观看| 人人摸人人舔一区二区| 欧美日韩国产高清在线一二三区| 成人久久精品| 精品国产91av一区二区三区| AV丝袜少妇| 精品亚洲一区在线观看| 成人老鸭窝人人在线视频| 亚洲精品国产精品成人| 九久9热| 偷拍偷窥与盗摄视频专区| 熟妇视频一区二区三区在线观看| 欧美性爱第1 页| 天堂资源欧美| 伦激情人妻另类人妻| 884t在线| 亚洲最新a在线观看| 日韩毛片9| 日韩操人| 欧美色图91| 久久人妻四季| 五十路六十路素人熟女| 高清肉丝中文无码| 午夜电影在线观看无码专区| 青青久久久| 淫妻综合网| 亚洲AV无码秘 蜜桃臀国精产品| 99啪啪视频| 国产女人和拘做爰视频 | 天天综合精品| 福利视频香蕉免费一区二区在线| 日韩少妇丰满亚洲| 日本操逼视频导航| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 亚洲欧美国产日本一区二区三区| 999精品女人| 中文字幕制服欧美久久一区| 18禁精品网站在线看| 亚洲性综合11| 97综合在线观看| 欧美综合娱乐久久| 日韩本不卡视频在线观看 | WWW.操逼.COM| 男人天堂 天天射| 五月丁香| ji熟女.com| 欧美亚洲在线| 国产黄色动态精品| 人妻乱仑一区二区三区| 亚洲国产熟妇综合色专区| 自拍视频大全亚洲专媒视频/一区二区三区| 思思热在线cao| 四方色播| 亚洲性少妇| 色婷婷丁香五月| 先锋激情∨在线视频播放| 久久熟女精品不卡一区| 少妇免费视频| 国产av美女被艹的乱叫| 久久久久九九九九| 黑人干亚洲| 四虎AV无码| 成人日本视频人妻在线| 97无码视频在线播放| 亚洲校园激情| 美女啪欧美一区| 天天日天天爽| 污污汅18禁网站在线永久免费观看| 蜜臀网 一区| 97超碰人操| 九一屌逼| 九九亚洲| av天堂5| 国产美女裸体秘 永久无遮挡| 欧美偷拍| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 亚洲天堂日本| 久热久一区二区三区| 亚洲中文字幕精品久久久久久直播| www.亚洲黄色| 天天综合中文字幕 91| 人妻大香蕉| 大奶尤物鲍汁淫荡欧美视频粉嫩夜夜骚| 伊人婷婷五月天| 操逼逼福利视频| 九九精品99| 亚州熟女乱伦| 久久国产乱子伦精品免费女,网站| 激情四射熟女丝袜| 欧亚第一综合网| 天天干2019| 激情文学网伊人| 婷婷色五月激情| 亚洲av影院在线观看| AV天堂国产| 三男一女不戴套的A片| 色97干| 超碰在线日韩一区| 国产精品3| 国产情色在线| 狠狠躁天天躁日日躁97| 东北老女人的激情视频| 荡小穴在线观看| 日本欧美韩国日产片片在线看免| 久草大| av片在线观看免费播放| 久精品无码av一区二免费国产在线观看| 91中文字幕在线观看| 99碰碰| 男人天堂2017| 国产在线综合网| 欧美乱欲| 久久97精品久久久久久久不卡| 黑人精品欧美一区二区蜜桃| 色哟哟AV| 亚洲精品97p| 伊人久大| 国产综合久| 老熟女综合| 91熟女视频| 老熟妇乱轮| 欧美大波激情xxxx| 黄色激情电影在线观看| 亚洲国产欧美另类自拍| 日韩激情啪啪啪| 国产一区二区三区导航| 日本亚洲熟女视频| 欧美最大综合网| 97精品国产97久久久久久户外免费| 亚州精品一区二区三区香中文字幕在线| 在线 制服丝袜中出 人妻| 亚洲色天堂日韩中|