色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
精品无码一区二区三区| 顶级丝袜熟女一区二区三区 | 夜夜青青无码影院| 日韩av一级黄片| 伊人性在线视频| 日本亚洲vr欧美不卡高清专区| 一区二区播放| 国产AV线| 精品无人区麻豆乱码1区2区图片| 亚洲综合图片在线| 青青色综合| 99色视频| 国产区91柔拿会所技师| 欧美一区二区三区成人性生活 | 98一区二区精品| 91社操逼| 国产欧美日本亚洲精品| 男人的天堂va| 99re9| 综合网91| 午夜人人操| 超碰 欧美| 91久久久久| 综合五月天| 久久久久九九九九九| 欧美国产操逼| 九九精品网| 日日骚av| 亚洲国产精品无石码久久| www欧美91| 噜噜噜噜天天狠狠| 好爽视频在线观看视频 | 97色爱| 69av一区二区三区| 中文字幕久热视频在线| 免费看日产一区二区三区| 日韩卡一卡二卡三在线| 人妻中文字幕日韩电影| 岛国黄片网站| 欧美中文综合| 国产精品剧情| 两性综合网| 精品国产一区二区三区久久久蜜臀 | 琪琪精品免费一区二区三区| 久久色情| jiujiujiujingpin| 欧美色图91| 三级激情网站| 岛国小电影| 美女丝袜激情小说| 色吧 综合| av天堂手机版追回| 综合91网| 91在线视频国产网站| 久久黄片国产一区二区| 99热综合| 九九九九九九免费视频| 人人妻人人爽一区二区三区| 久久精品国产97欧美精品亚洲| 1769成人国产精品视频| 色五月综合| 久久久99999久网站| 日韩欧美日韩| 久久久久成人亚洲国产| 亚洲综合性网址| 人妻蜜桃臀| 久久无码电影| 欧美激情一| 玖玖爱影院| 久久精品店| 福利社区午夜一区二区| 一区二区视频你懂的| 91第一页| 大香蕉在线视频15| 久久精品日韩专区免费观看| 午夜爽爽爽在线观看永久入口姬片| 啊啊啊啊啊啊好湿好爽视频| 一牛影视成人片免费| 精品国产一区二区久久| 九九九不卡| 91熟女少妇| 青青草女人天天干| 性爱视频无打码在线观看| 欧美操逼一二三区| a片自拍直播视频| 91在线色综合| 欧美日韩国产三级黄色| 丰满翘臀美女影院视频| 亚洲av综合伊人久久| 高跟伊人julia ann| 国产aⅴ无码片毛片一级网站| 亚洲吊色| 九九热AV| 日韩国产在线观看av| 国产黄a三级三级三级av在线看 | 久草免费在线视频| 在线小视频| 亚洲 欧美 手机在线观看| 国产少妇高潮| 夜夜肏2021| av无线看| 另类图片综合| 人妻少妇精品无码专区二区密桃| 天天肏美女| 日韩三级伦理中文字幕| 国产久9| 日韩99神马视频播放片在线播放| 成人a大片在线观看| 欧美在线电影| 亚洲一区日韩精品中文字幕| 欧美一级二级三级| 亚洲日本天堂| 国模91| 97色色网| 亚洲九月丁香| 国产乱弄免费在线视频。| 一区二区首页| 久偷拍欧美日韩三区| 北条麻妃性愛视频| 日韩亚洲97| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产夜夜艹| 国产亚洲 中文欧美久久| 欧美久久九九| 四虎视频在线观看| wwe 天天干.com| 午夜免费视频1000| 青青操少妇| 中 文字幕一区二区三四 五 区日 日 骚| 91久青| 97超碰色屌| 操淫穴亚洲五月丁香| 国产成人午夜视频网址| 国产理论视频在线播放| 国产精品一区二区三| 亚洲欧洲第二视频在线观看色图| 久偷拍欧美日韩三区| 淫穴高潮色图| 操死我了啊啊啊| 久久区| 国产熟女免费观看久久| 99久热| 青青欧洲黑| 色综合大香蕉| 国产69精品久久久久99尤物| 日本精品高清一二区一本到| 欧美少妇大量自拍视频在线观看| 囯产精品强| 久久久999| 国产AV激情无码久久无码 | 91黑丝在线| 伊人精品久久网站| 91在线美女| 免费成人自拍视频在线| 日韩中文字幕宗合在线| 亚洲精品美女久久久久久久久| 强奸少妇AV导航网| 欧美影院一区二区三区| 一类无码操逼视频| 9Ⅰ老熟女| 97草草| 伊香蕉综合久久久久久久噜噜噜| 香蕉国产精品麻豆亚洲欧美日韩| 噜噜噜久久亚洲精品色情| 成人性爱电影网| 久久久99999久网站| 亚洲日本大香蕉1| 伊人网综合在线视频| 天天看天天在线精品| 岛国黄片网站| 欧美精品日韩久久久九| 色色色色网站| 91美女中出| 麻豆精品A片免费观看| 国产一级久久久| 岛国色情视频在线观看| 能看的av| 国产AB视频| 亚洲色宗合| 日韩精品免费高清视频在线| 可以看的av| 操淫穴亚洲五月丁香 | 9色在线| 夜夜操狠狠操| 久久精品28| 日韩强奸av| 成人aⅴ一区二区三区| 强奸乱伦中文字幕AV| 神马福利久草| 欧美 青青草| 人妻色情天天操| 91社操逼| 青青草日韩免费观看高清在线| av亚欧| 亚洲操操操| 男女啊啊啊| 亚州AV无码国产精品| 超AV色女| 精品人妻一区二区三区在| 日产狠狠干| 性一级黄色录像片网站导航| 女优视频第10页| 国产精品白丝AV| 久久乐| 69XX一中文字幕人妻91| 久热精品色情| 午夜免费福利视频一区| 天天做天天爱| 亚洲Av噜噜一区二区三区妖精| 亚洲欧美日韩中文播放| 亚洲永久永久永久永久一级一级一级精品| 懂色中文一区二区三区 | 色噜噜人妻丝袜AV资源| 黄色电影观看久久9| 久久国产精品视频| 女人一区| 91大神精品长腿在线观看网站| 亚洲欧洲色情高清| 97蜜桃综合| 免费观看国产不卡av| 国产亚洲色婷婷99精品91| 欧美麻豆成人同性GⅤ在线| 亚洲天天自拍| 97在线视频观看免费| 5252色欧美在线| 精品日韩人妻视频| 日本九九久久99播| 日韩欧美日韩| 欧美999| 9九九国产| 国产AV人人 夜夜人人澡| 国产热RE99久久6国产精品首| 草草电影院| 搡老女人老91妇女熟女| 白丝AV网站| 人人操人人插人人摸人人干| 97超碰久久| 欧美激情欧美精品| 97中文字幕色| 熟啊v色欧美热| 日韩黄色一区二区三区| 中文字幕丝袜国产第一页不卡| 精品人妻一区二区三区四区| 天堂麻豆天美| 久久熟妇五十路一区| 欧美伊人久久综合网| 九久久九九久视频| 人妻少妇无码| 亚洲资源吧| 玖玖资源视频一区二区三区| 熟妇女伦乱视频视频| 亚洲亚洲亚洲天堂天堂| 艳美熟妇先锋一二三区| 亚洲.欧美.丝袜.中文.综合| 男人的天堂2018东京热啪啪啪| 91干熟女| 欧美亚洲丝袜人妻制服中文99| 人人操人人摸超碰| 日韩在线观看三级电影| 97亚洲色图| 色97欧美| 国产99热| 香蕉久久精品| 风间由美日韩欧美久久| 欧美少妇人妻| 欧美日韩色综合网| 熟女精品va中文字幕| 无码直播久久久| 超碰午夜| 强歼乱伦资源网| 日韩少妇一区二区三区| 超碰亚洲97| 伊人国产av| 亚洲欧美一区二区不卡视频播放| 最新精品久久蜜桃 | 97欧美色| 精品二999| 亚洲色图综合网| 天天欲望网| 成人精品无码| 久久婷婷色| 久久精品99| 视频国产欧美在线播放| 日本在线激情一区二区三区| 91色噜噜狠狠| 欧美在线 亚洲| 久久精品导航| 久精品无码av一区二免费国产在线观看 | 手机看片1025| 曰韩少妇无码| 欧美一区二区三区入口| 屌妞视频久久久久久久久久久久| 久久久久久中文| A 在线网址| 亚洲欧综合另类无码一区| 激情五月婷婷综合| 九月AV| 男人天堂网站| 亚洲精品视频二区| 日韩精品午夜操呦呦不卡影院| 在线观看中文字幕| 久久97精品久久久久久久不卡| 干日本人少妇午夜寂寞影院| 99热导航| 一区中文字幕二区日韩| 日本岛国黄色网址| 国产成人精品午夜福利| 色踪合AV| 手机av亚洲丝袜美腿日韩第一页二页| 日han少妇无码| 亚洲激情 欧美色图| 色综合中文字幕不卡| 丁香激情五月天| 岛国精品视频在线观看| 老司机福利青青草| 在线中文字幕| 免费精品人妻一区二区三| 在线综合 亚洲 欧美中文字幕| 9ⅰ久久久天天| 亚洲丝袜二区在线| 另类图片五月天| 91亚洲最新在线| 久久亚州大香蕉| 日本 情色 1区2区3区| 天天舔九色婷婷| 精品国产国产AV| 99re在线视频国产| 大逼色网站| 亚洲精品欧洲色| 欧美亚洲情色| 无码乱人伦中文视频| 国产97色在线| 99热99在线播放激情| 色在线亚洲视频www| 思思热免费在线视频| 精品亚洲黄色片 国产精品导航一区二区| 青娱乐国产盛宴视频| 国产性爱乱伦AV| 一级二级三级黑人无码| 天堂中文日本在线观看| 91小视频| 91色黑人少妇| 久久精品99| 91高潮| 亚洲美女av无码| 色欲av一区二区三区蜜芽| 日本操嫩b网| 干干干天天| 五月婷婷六月天| wwe 天天干.com| 91色综合色| 亚洲在饯| 久久精品国产72国产精品福利 | 丁香六月综合激情| 黄资源| 91网站18+| 欧美91精品国产自产| 91精品久久久久五月天精品| 色色色网站| 日日AV加勒比| 欲色啪| a片在线播放| 一区二区娱乐网站| 夜夜嗷嗷一区二区| 日本精品999| 精品国产Av无码久久久亚洲| 欧美夜夜狠| 天天日美女的B| 2023天天操夜夜操| 狠狠穞A片一區二區三區| 尤物av网站| 97色操| 日韩Va亚洲va欧美Ⅴa久久| 色婷婷导航| 欧美亚州综合图片| 精品国模无码| 久久人妻丝袜一区二区三| 熟妇艹鸡八| 97碰久久| 中文字幕 码 自拍 视频 区| 日本最新1区2区3区| 中文字幕高清精品一区| 操久久久久久| 国产亚州高清国产拍精| 欧美亚州综合网图片| 99精品网站| 不卡日本一区二区| www.狠狠| 日韩精品99久久久久久中文字幕| 婷婷九月国产| 久草网站免费在线观看| 日欧毛片久久| 亚洲av综合色区图片亚洲| 激情小说五月天| 欧美自拍网| 亚洲黄网在哪免费看| 亚洲999综合| 中文字幕91页| 久久久99999久网站| 91成人高清在线观看| 在线 亚洲 网爆 自拍| 精品九九九| 少妇干B| 天天日美女的B| 岛国福利在线精品播放| 激情五月天网站| 久久老熟女| 六月激情婷婷| 亚洲人妻爽爽爽| www.婷婷| 成人精品水蜜桃久久久久久久| 免费观看国产小粉嫩喷水精品午| 嗯嗯啊好大| 亚洲图片婷婷五月天| 乱伦图一区| 亚洲蜜臀视频精品久久| 亚洲免费人妻在| 熟妇无码视频三区| 精品久久久久久中文字幕三区 | 日韩综合97P| 亚洲九月丁香| 美女性91| 精品久久在线区一区| 加勒比海人人操超碰在线| 色色国产| 亚洲午夜未满十八勿入网站日本又色又爽又黄| 91最新综合| 日本三级A片网站com| 我中文字幕6区| 日本午夜精品理论片A级APP发布| 91亚洲人| 日han少妇无码| 中文字幕123| 韩日欧亚a级| 亭亭丁香激情| 亚洲一卡2卡3卡4卡乱码网站 | 欧美 亚洲 在线| 毛片视频白嫩| 国产美女口爆吞精视频| 天操天操夜操夜月月年年操操| 无码自拍SM| 啊啊啊想要| juliaann丝袜大战黑鬼| 久久久97| 91狠狠| 亚洲色图伊人网| 婷婷色综合| 国产黄色视频久久| 精品久久97| 美女91在线观看| 丁香九月激情啪| 久久性爱视频免费看| 9ⅰ久久久天天| 无码99| av天堂5| 青娱乐休闲视频在线观看| 欧美丝袜美女电影一二三四区| 激情自拍 校园春色| 呦呦一区| 国产馆| 五毛骚逼极品美女怕怕| 亚洲综合在线高清| 黑丝少妇| 99久久久久| 中文字幕一区二区在线日韩精品| 后入式免费视频| 97视频www| 嗯嗯啊啊操死我| 强奸乱亚洲| 成全在线观看免费观看| 亚洲开心网| 亚洲图片欧美色图| 无码9区| 日本色色色色色视频| 91精品无码久久久久久久| 久艹免费| 91精品在线播放| 好舒服视频| 狠狠色综合网| av资源在线播放天堂| 日韩性爱小视频| 91人人操| 亚州图片第一页| 性爱AV天堂| 操逼精品视频| 东京热一区二区三区四区五区六区| 久久婷婷精品| 伊人网av| 九九内射在线| 熟女乱伦A| 亚洲人妻中文在线视频| 欧美精品97| 97网色| 欧美日韩中文字幕人妻| 久久夜夜| 搞中出视频在线观看| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产版a级片直播在线| 无套内射人妻在线播放| 国产大学生口爆吞精合集| 国产中文大片资源中文字幕| 天堂v无码免费视频| 天天干人人看综合| 综合伊人激情| 久久五十路熟女人妻| 午夜操逼不卡| 婷婷丁香五月天亚洲天堂网| 人人射人人操人人摸| 大色综合网| 欧亚在线视频| 欧美日不卡| 欧美日韩国产中文精品字幕自在自线,| 一道本久久棕合爱| 日本97久久久精品| 久色99999| 看看日B真人视频| 欧美色色人| 亚洲天天精品| 美女诱惑久久| 精品人妻一区二区三区四区石在线| 日韩一级性爱无码| 淫荡少妇免费| 中文字幕在线高清男人的天堂| 日韩丰满熟妇| 天天操天天插| 亚洲视频,小说| 天堂精品| 四虎在线视频| V A在线| 久9久9久9久9久9久9| 婷婷丁香人妻 | 青青草日本无码| 久久综合女优| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91色宗合| 亚洲一区二区三区不卡国产欧美| 综合色播| 久久綜合很很很| 嗯嗯嗯啊啊在线观看| 人人妻人人色一区二区三区| 草草草视频在线免费看| 亚洲少妇综合在线播放| 亚洲有薄码区日本系列中文字幕| 欧美 牲| 欧美 亚洲精品首页| 亚洲av无码国产精品字幕| 久久香蕉综合一本到3atv| 久久久久成人蜜桃精品| 久久一本大香蕉| 日韩精品-原创伙伴| 国产操逼视频在线观看| 99视频内射三四| 欧美猛交黑寡妇中文字幕| 一区二区三区一亚洲中文字幕、综合区灬 | 久久久工口| 亚射在线| 99re6在线视频精品免费完整版安卓版| 久久久爆乳翘臀一线天伦理视频| 国厂麻豆77q4| 男人的天堂kva| 无码人妻一区二区三区色欲aⅴ| 国产成人久久久精品免费AV| 久偷拍欧美日韩三区| 毛片一区二区| 亚洲成人网站在线观看| 日日夜夜模| 午夜国产成人精品视频| 天天干少妇| 欧美一区二区三区成人性生活| 啪啪综合网| www.婷婷| 婷婷国产精品一区二区| 女人午夜视频777| 性欧美精| 色呦呦呦在线观看视频| 操逼精品视频| 欧美综合亚洲综合| 五月天偷拍| 国产青青综合伊人| www.国产高潮精品| 日本黄页视频在线观看| 夜夜天天噜狠狠爱2021| 久久精9| 天天肏视频| 超碰国产在线| 亚洲天堂久久久久久粉红视频| 毛片电影一区二区三区| 日本久久久久久久久久| 欧美十八禁在线看| 亚洲av资源| 国产精品免费视频人成| 成人精品水蜜桃久久久久久久| 亚洲 自拍偷拍 欧美| 99操| 国产欧美成人第一页在线观看| 三级片大波波| 免费精品无码一级毛片牛牛影视 | 太久视频| 久久久精品视频欧州站| 久久6热视频免费观看| 九九九九九九免费视频| 亚洲成av人片色午夜乱码| 超碰久草| 欧美很很操视频| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 夜夜一区二区| 看全色黄大色大片免费视频| 色999偷自拍拍| 久久久精品91八戒| 亚洲AV在线资源| 17c在线成人免费A片观看| 99热18这里只有精品| 亚洲欧美电影| 素颜老阿姨乱情色| 岛国色情视频在线观看| 9999久久久久| 97国产色综合| 91亚洲人| 伊人一区二区三区| 丰满人妻一区二区三区大胸懂色| 啊啊啊 在线| 中文字幕一区av| 日本Suv精品一区二区| 91啪啪| 狠狠爱大香蕉| 97日视频| 狠狠综合| 国产丝袜欧美在线视频| 国产精品一二三| 尻女朋友一夜| 日本女优在线视频福利| 久久免费9| 91美女在线视频| 极品白嫩美女白浆成人福利在线看| 精品一区96| 2019久久久久久久久福利| 久湿久久| 操穴国产| 91天堂色男人的天堂| 91N综合网在线| 日本 欧美 亚中文字幕| 欧亚日韩一区在线| 久久精品老司| 99婷婷| 日韩熟女无码| 久草色在线观看| 男人天堂2019亚洲| 啪啪视频免费在线观看| 91视频综合在线| 影音综合网| 日韩九区| 亚洲 日韩 丝袜 熟女 变态| 9997se| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴| 国产精品一区二区a| 久久9免费视频| 久久中文色图| 日韩欧美亚洲国产日韩| 亚州AV无码国产精品| 天天干人人看综合| 欧美 亚洲精品首页| 蜜臀AV成人精品蜜臀| 欧美日韩国产传媒在线精品| 在线观看综合精品亚洲| 宅男影院久久久,99| 亚洲第一页第二页激情| 操熟女91| 久久r精品| 亚洲日产专区婷婷| 精品96久久| 亚洲人在线成线成人| 色婷亚洲五月在线观看| 搡老熟女老女人老熟妇免费视频| 欧美日韩不卡a片| 九九九久久久| 天天综合,91入口| 午夜精品久久999热蜜桃介男人用| 国产性刺激| 26uuu成人影片| 天天噜| 国产精选视频| 午夜福利合集| 夫妻AV网站| 欧美体内射精| 91 国产丝袜在线播放-百度| 97AV在线免费观看| 天天看特黄的免费网站| 91少妇香蕉久久精品| 性色国产东北露脸精品视频| 天美一二三在线观看Av| 99www.bibizy香蕉资源国产一区二区三区高清| 国产免费大片| 亚洲国成人情色好看电影| 69AV女优男人的天堂| 国产丝袜美女诱惑| 91丝袜美女国产| 嗯啊不要啊在线| 牛黄色久午久| 97人人模人人爽人人| 久久老子无码午夜伦不卡| www色日本| 久久亚州精品成人Av无| 在线无码视频| 黄色AAAAAAAAAAA大片| 欧美精品xxxwww| 欧亚免费视频| 精品久久久久久亚洲| 久久极品一区二区| 免费农村成人少妇人妻Aa一区二区视频| 丰满人妻一区二区三区四| 亚洲色人妻综合| 99热免费精品| 亚洲国产蜜臀系列在线观看| 久久精品无码熟妇一区二区三区视频导航 | 天天干天天舔| 北约熟女超碰| 人人干人人搞人人摸| 中文字幕丝袜国产第一页不卡| 一级A片女人高潮叫床| 久草福利在线资源站| 激情综合五月| 人人爽夜夜操| 男人干美女| 综合激情一一91| 国产路线专区| 大香蕉92| 大象AV在线| 精品成人动漫一区二区| 99热最新| yazhousetuoumei| 国产风韵犹存熟妇三区| 久久啊啊| 免费看国产曰批40分钟怎么下载| 国产精品久久久久久无码红治院| 天天综合精品| 伊人精品视频| 本道综合精品| AV污污污污| ′ !γ}丶。。久久精品欧美一区二区三区| 午夜大香蕉| 99re8免费高清在线| 亚洲第一页综合在线| 亚洲日本大香蕉1| 亚洲无码电影久久久| 熟女精品va中文字幕| 亚洲天堂东京热| www.高清无码诱惑一区.com| 精品无av| 亚洲熟女精品| 国产精品色色| 久久9免费视频| 丰满人妻区一区二区三| 亚洲暴力强奸AV| 91欧美偷拍| 中文字幕一区二区无码成人| 国产精品麻豆视频网站| 大香蕉123| 亚洲AV色图一区| 一级@啪啪视频| 日韩欧美女优电影| 亚洲欧美洲综合| 韩国午夜理伦三级好看| 日韩欧亚太美不卡| 色区97| 亚洲一区操| 另类图片五月| 欧美第五页| 亚洲āv网址在线观看| 日本熟妇人妻中出视频| 精品久久久久久亚洲| 欧美熟妇亚洲版| 色色毛片| 偷拍 亚洲| 日本大香蕉综合网| 国产粉嫩出水在线播放| 国产精品熟女九九九| 色综合潮| 神马久久久久| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 日韩午夜国产| V A在线| 日本三级韩三级99久久| 快灬快灬 一下爽蜜桃在线观看| 一本一道vs波多野结衣| 亚洲涩涩| 天天视频综合在线观看视频| 超碰久久草| 久久久久久久伊人精品| 人人摸人人干| 国产精品午夜福利亚洲综合网| 97二区四区| 国产h小视频在线观看免费| 亚洲va综合va国产va中文| 97色色色综合网站| 翔田千里爆乳巨臀无码| 精品免费1| 试看日韩黄片| 9999伦理视频| 亚州综合色| 91人妻超碰| 欧色网址| 欧美在线官网| 富女玩鸭子一级毛片| 欧美九九99久久精品| 唯美清纯 妖精视频| 九月丁香综合网| 人妻 欧美亚洲| 丁香婷婷色五月| 大香蕉中文在线| 久久日韩毛| 岛国在线免费视频| 亚洲色图 综合| 超碰成人免费| 五月天亚洲色图| 亚洲AO在线| 狠狠色狠狠色狠狠五月| 偷拍超碰| 日本五十路熟女一区二区| 黄久久| 婷婷五月花| 欧美日本天堂| 嫩草影院性色| 亚洲一区二区av| 高清不卡视频| 日韩无码黄色片| 97欧美资源| 亚洲AV免费在线观看| 在线观看综合精品亚洲| 欧美性爱伊人| 欧美日韩欧美| 欧美婷婷五月天| 日韩激情电影中文字幕| 亚州综合AⅤ| 欧美很很操视频| 桑老女人九区| 欧美精品 - 91爱爱| 国产偷拍自拍在线视频| 丝袜综合网| 久久久一区二区| 怡红院视频在线| 看一级特黄a大一片| 啪啪综合网| 天天综合网~91入口| 久妇网| 亚洲欧美激情在线视频| 亚洲综合影院| 一卡二卡三卡| 中文字幕一区 二区三四五 区日 日骚| 强奸乱伦免费网站| 97精品在线视频| 使劲用力艹少妇视频一区二区 | 人妻 欧美亚洲| 亚洲天堂人妻一区二区| 中日韩久久久| 亚洲婷婷丁香在线| 日韩一级二级三级| 少妇内射www在线观看视频| 开心激情婷婷| 精品国产一级久久| 性爱视频啪啪啪啪| 亚洲全色网| 蜜臀AV一区二区三区| 久久久久亚洲一区女同性恋中文字幕| 天天综合网一91网| 久操操| 最新日日夜夜天天干干| 久久精品国产亚洲AV先锋| 欧美伦乱爱| 国产啊v在线免费播放| 精品国模无码| 丝袜AV一区二区三区| 强奸少妇AV导航网| 亚洲激情av| 成人三一级一片aaa| 欧美亚洲se91| 欧美激情欧美精品| 亚洲精品国产AV天美传媒| 99热综合在线| 日本欧美成人片AAAA| 天天伊人| 99热销国产这里有精品| 五月天AV资源| 蜜桃AV天堂| 97av,com| 日韩精品怡红院| 天天色怡春院| 九九热精彩视频| 亚洲精品欧洲精品| 国产精品久久久久久久久久久久久久久久久久| 又黄又爽在线观看视频| www.激情| 亚洲各类熟们中文字幕| 岛国片在线观看视频亚洲| 日韩欧美tv一区二区在线观看| 欧美v亚洲v综合v国产v妖精| 日本精品中文字幕视频| 91操熟女| 人妻三级在线中文字幕| 中文字幕久久婷婷丁香五月天| 99国内熟女露脸视频| 美女干逼2| 欧美极品少妇| 亚洲精品 欧美精品| 91天射| 夜夜春夜夜操| 大香网伊人久久综合网eew| 国产一区麻豆免费观看| SS久久| 好爽免费视频,| 久湿久久| 91天天综合在线观看| 999热这里只有精品| 欧美91变态| 99国产精品| 亚洲春色欧美激情自拍| 日本影视久久免费| 国产精品在线免费| 男人的天堂 在线一区| 老外又粗又长一晚做五次| 国产东北女人在线视频| 日韩成人性爱AV| 天堂种子在线www网资源| 99久视频| 黄色成品网站| 欧美色一二三| 黑人粗大V S日韩女优视频| 人人妻人人色一区二区三区| 久久精品国产亚洲粉嫩| 天天碰久久入| 加勒比99999| 亚洲成a人v欧美综合天堂下载| 成人自拍三级在线观看| av三级电影在线播放| 国产女同视频在线播放| www久久久| 五月色综合| 男人的天堂.com| 熟女久久久| 综合第一页| 中文字幕交换人妻| 好吊妞转入那个网| av午夜玫瑰| 91n.欧美| 国产又粗又大硬免费色网视频| 亚洲男人的天堂网| 中文字幕黄色一起草| 一级毛片电影免费看| 中文字幕中文字幕一区二区| 亚洲AV无码久久久国产精品| 十八禁视频网站| 亚洲丝袜天堂| 日日摸日日碰夜夜爽视频| 亚洲黄色视频在线观看视频| 黄网色一区二区三区四区精品| 夜夜狼人妻| 激情终合网| 人妻精品一区二区三区| 亚洲成人一区二区精品| 色色丁香| 99re这里| 偷拍精品一区二区三区| 人妻啪| 色噜噜综合在线| 97视频在线视频| 五月天我淫我色av| 婷婷97| 夜夜爽爽夜夜精品视频| 国产精品久久久久久久久久久久久久吹| 黄色香蕉视频网站一区| 日韩精品国产一区二区| 五月天婷婷色| 精品人妻夜夜草| 97超级久久| 国产AV久久野战精品| 日韩情色视频| 人妻少妇精品视频一区二区三区| 超碰人妻天天干| 国产怡红院| 天天综合欧美| av无线看| 日本女厕偷拍| 91这里只有精品| 五月天色图| 69丨亚洲丨精品丨入口免费播放| 中国和日本人色哪个不下载能放| 热思思免费视频| 亚洲色五月| 玖玖大干人妻| 麻豆啪啪啪视频| 99精品高潮| 强奸乱伦免费网站| 狠狠热这里都是精品| 啊啊啊慢点| 日韩人妻播放| 神马久久久久久久久久| 国产免费黄色一级大片| 多乙久久久久久| 成人片视频| 色色毛片| 91亚洲不卡一区| 精品女同一区二区三区| 另类图片欧美激情综合| 殴美,日韩国产伦精品| 99久草| 91久操| 久久亚洲熟妇在线视频| 亚洲高清无毛一区二区| 久久综合女优| 国产9 9在线 | 亚洲| 欧美97日韩精品| 亚洲色图日韩精品| 97热视频在线观看| 免费观看的黄色的网站| 97综合久第一页| 日韩激情毛片一级久久久| 99999国产精品| 免费啪啪av| 蜜桃精品一区二区三区ww| 强乱老妇中文字幕| 五月天婷婷影院| 亚洲双插| 色悠久久久av| 超碰在线观看av不卡| 日韩二级| 熟妇的味道HD中文字幕| 婷婷色香| 丝袜美腿亚洲| 东京热一区二区三区四区五区六区| 欧中美三级一区二区三区| 亚洲国产精品9999在线观看| 欧美 亚洲 另类 综合| 中文字幕亚洲热播人妻| 色婷婷一区二区三区久久午夜| 日韩成人精品视频自拍| 99热这里只有精品1| 婷婷五月天基地| 伊人欧美大香蕉视频| 日韩激情啪啪| 女人精品内射国产99| 91久久久视| 777奇米影视777四色| 99re黄| www.91色综合| PMv在线观看| 夜夜骑操视频| 一块操欧美| 色色毛片| 天天操天天7| 日日干日日| 国产探花日韩援交| 亚洲少妇在线影音| 又粗又长又爽在线观看| 中文有码9| 天天看人人操屄犊摸阴| 综合久久中文字幕综合日韩精品| 欧美色图亚洲色| 国产1727欧美| 东京热亚洲一区二区| 亚91网| av情色影音| 亚洲综合精品国产一区| 极品白嫩美少妇在地板上位骑射淫水泛滥| 日逼五月天| 免费看毛片操穴| 啊啊啊草死我| 吉川爱美亚洲二区在线| 强奸乱伦中文字幕AV| 97超碰色色| 韩国女主播青草福利视频| av在线一区二区三区| 国产午夜在线观看| 久久黄黄黄| n1038 一二三区| 久久婷婷影院| 人人操人人大香蕉| 国产精品女生av| 啊啊啊啊啊舒服| 91欧美成人色站| 精品久久久无码| 日婷婷| 国产传媒日韩| 久久精品国产97欧美精品亚洲 | 三级色综合| 成人AV在线网站| 青青青草伊人精品| 大香蕉 222| 精品人妻二区三区| 婷婷久久综合| 粉嫩av平台| 欧美专区17页| 91国产美女丝袜足交精品视频 | 色哟哟AV| 欧美日韩另类字幕中文| 国产成人亚洲精品无| 91色综合激情| 五月婷婷色| 乱老女人一区二区视频| 天天色天天干天天爱| 亚洲情色综合| 国产丰满熟夫69mpp| 五月天偷拍| 中文字幕日本久久| 最新中文字幕在线亚洲| 一级AV性爱| 欧美一级在线观看成人| 亚洲色宗合| www欧美91| 蜜臀无码一区二区| 伊人991| 精品无码人妻一区二区免费蜜桃| 性吧在线视频| www久久久| 精品在线观看视频在线| 日韩欧美国产一区二区三区四区| 久久精品中文字幕观看| 亚洲加勒比久久日本道| 98久久超碰| 麻豆天美一区二区| 国产成人亚洲精品无| 国产精品另类一区大香蕉| 日韩av电影网站| 日本性一区| 九九九九九九成人| 九九英色视频| 台湾肥佬网一区二区三区| 欧洲免费一区二| 伊人网在线观看| 老汉网| 99只有精品| av草草在线电影| 亚洲熟女一区二区| 色婷婷日韩精品一区二区三区| 超碰人人干天天射| 国产成人久久精品蜜臀| 91色综合| 啊啊在线| 久久久久幕乱码| 少妇色欲综合网2| 欧美同性恋 的搜索结果 - 91n| 亚洲91射| 麻豆久久精品亚洲精品88 | 日日干日日操五月天伦理视频| 欧美日日夜夜| 天天综合欧美综合| 土豪酒店各种姿势玩弄极品幼稚| 经典丝袜一区| 亚洲风情综合网| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 亚洲图片欧美色| 亚洲自拍偷拍视频在线| 91艹B视频| 久久人人爽人人爽人人片Ⅴ| 大香蕉碰碰| 操亚州| 青青草在线视频美女| 亚洲色电影在线| 人人操肉肉| 六月色婷婷| 和协影院中文字幕三区| 美女AV一区二区|