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

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
返回資訊列表
国产精品 久久久精品一牛| 91路www| www.99中文字幕| 亚洲日韩电影| 99日视频在线免费| 青青伊人久久| 福利风月五月天影院| 国产又色又爽又舒服的三级视频| 91精品久久久久五月天精品| 天堂男人网| 国产1727欧美| 欧美天天综| 色色综合网站| 你懂得91| 丰满岳乱妇一区二区三区| 日少妇视频| 中出20p| 成人热久久精品| 乱精品一区字幕二区| 性爱乱伦网址| 中文字幕一区二区日韩网| 中文字幕一区二区三区50路| 99在线观看视频在线高清| 国产美女激情| 五十路二区在线| 久久久啊啊| 九九aV| 久久鲁干| 婷婷中文网| 天天做日日做| 正在播放国产精品一区| 秋霞 色色| 外国91| 午夜啊啊| 超碰97久| 97在线观看视频| 久久久国产精品亚洲精品| 国产女上位好爽在线| 伊人婷婷五月天| 蜜桃视频成a人v在线| 乱伦熟女专区| 日韩熟女操逼| 人人操人人爽人人操人人| 欧美日韩在线小说 | 亚洲 欧美 中文 日韩超碰| 色色婷婷五月| 超碰在线人妻| 91蜜臀熟女| 亚洲久热| 婷婷月色| 99热aaa| 久久久久久久久久久久久久久乱码 | 国产精品视频播放| 色综合99999| 黑丝日韩av丝袜av| 欧美中文狠| 色综和网| 呻吟 欧美 日本 中出| 久久高清无码夜夜操| 怡春苑东京热| 夜夜国自区| 国产久9| 欧美亚洲特P| 麻豆天美在线| 国产精品午夜AV完会免费| 亚洲se91| 色波多| 无码久久亚洲高清,| 亚洲男人电影天堂| 国产又黄又粗的视频| 无码137片内射在线影院| 久久成年片色大黄全免费网站| 中国熟女老妇仑乱一区二区三区| 大屁股人妻女教师撅着屁股| 人妻中文字幕精品无码| 青娱乐国产精品| 肉嘟嘟www视频在线观看高清| 亚洲国产午夜真人一级片中文字幕精品黄网站| 婷婷亚洲五月***久久| 国产粉嫩出水在线播放| 最新欧洲欧美日本激情网站| 偷窥自拍亚洲色图| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 欧美人妻精品一区二区| 极品白嫩美女白浆成人福利在线看| 福利色色| 五月婷婷色| 精品久久青青草| 亚洲AV资源| 久久亚洲不卡一区二区三区| 很狠操| 夜夜高潮夜夜爽夜夜爱爱一区| 麻豆熟妇乱妇熟色A片在线看| 变态综合色| 国产精品com| 91成人高清在线观看| 日韩Va亚洲va欧美Ⅴa久久| 8050无码八戒| 一二三啪啪专区| 天堂在线一区二区| 少妇激情一区二区三区视频| JIZZJIZZ亚洲女人被躁| 天天色综亚洲91污| 91ise欧美| 天天色粽合合合合合合合| 99RE在线视频精品,这里只有精品| 久久夜黄色无码A级大片| 亚洲 日韩 丝袜 熟女 变态| 日韩偷拍色图| 国产av热热色| 夜夜夜爽www精品视频| 中文字幕欧美日韩三级| 伊人久久综合精品欧美| 欧插网站| 日韩中文9| 日韩综合97p| 午夜亚洲WWW湿好大| 日韩不卡在线一区二区| 97久精品| 亚洲国产中文字幕| 97精品网| 欧美性爱在线无码| 精品视频97| 婷婷精品久久av影视| 99久久精品国产系列| 欧美强奸乱能| 老女人日韩美91| 久久视频,这里只有精品| 亚洲综合伊人无码久久| 尤物网址| 男人下部插入女人下部| 欧美一区二区三熟女剧情| 一起草三级AV电影在线观看 | 蜜臀99久久精品久久久久久| 91香蕉视频在线观看免费| 久操热| 青女在线| 亚洲国产精品无码AV久久| 日韩 欧美 另类 人妻| 熟妇熟女视频一区二区三区| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲成?V人片在线观看福利| 自拍亚洲综合| 亚洲伊人久久综合97| 人人色人人操在线| 久久久九九九九| 亚洲综合999| 亚洲国产高清福利视频| 啊啊啊97视频| www.av家庭乱伦| 色欲天天综合网| 神马久久69| 欧美97爱| 任你草| 国产成人精品一区| 在线岛| 日韩草久视频| 蜜臀网 一区| 日韩乱伦视频| 成人欧美日超碰| 久久婷婷电影网| 91狠狠综合久久| 亚洲区限制级 99| 久久青青草原免费视频| 天美一二三在线观看Av| 国产精品96| 婷婷五月天成人网| 一本一道久久综合久久| 亚洲日韩美国人妻| baiduhicn.com。| 色吧5亚洲| 天天日天天操心| 亚洲人精品久久久| 无色无码| 日本亚欧爱爱| 在线人人人人人人精品超| 亚洲AV无码久久精品蜜桃小说| 日韩成人高清一区二区| 欧美日韩国产中文精品字幕自在自线,| 强乱老妇中文字幕| 91呆哥人妻| 长久操视频| 亚洲人妻中文高清| 欧洲性人爱视频| 天天弄天天操| 国产AV人人夜夜澡人人爽麻豆| 乱伦a片视频| 78p欧美| 色哟哟 日韩精品| 97视频在线观看播放与子乱对白在线……| 97超碰中文在线| 狠狠 91| 精品人妻一区二区免费蜜桃视频| www.色婷婷| 欧美日韩亚洲少妇寂寞影院正在播放| 国产精品自产拍在线观看社区| 久久一区二区加油站| 97在线视频观看网站| 欧美视频第二页| 中文字幕高清精品一区| 97自拍一区| 亚洲成人性爱网站在线播放| 高潮嗯啊性感美女久久久| .精品人妻一区二区三| 九九英色视频| 这里只有精品视频在线观看麻豆| 综合激情一一91| 亚洲午夜福利在线影院| 天美传媒精品久久视频| 思思99热| 亚洲精品久久久久毛片A片拉屎| 精品无码久久久| 国内毛片欧美香蕉精品| 97视频在线视频| 国产强奸超碰AV| 综合少妇网| 日韩三级视频一区二区三区| 日本操逼视频免费| 国产美女激情| 免费A V在线| 久久αⅴ| 啊啊啊好舒服好爽啊啊啊视频| 岛国激情视频在线观看| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 欧美亚洲自拍另类人妻| 综合色拍| 自拍偷拍2025在线观看| 色图综合| 操b网站亚洲无码| 福利视频一区二区微拍| 欧美日韩人妻精品系列一区二区三区| 麻豆久久视频在线地址| 日韩福利综合一区| 超碰 国产熟女精品一区| 五月天激情小说| 日本中文熟女视频| 91热色| 天天日夜夜| AAAA级日本片免费视频| 91久久久老司机| 久操婷婷| 乱伦1色页| 国产精品白丝www| 清清一区二区三区四区不卡视频| 亚洲日韩美女中文字幕乱| 亚洲少妇视频| 青青青青草av在线观看| 97摸视频| 亚洲精品国产熟女| 不卡二三区人妻少妇| 久久中文色图| 国产亚洲综合欧美一区| 久久精品国产亚洲AV清纯| 狠狠2050在线观看| 麻豆天美电影一区二区| a v网站在线播放| 色欲久久99国产精品久久久久久| 亚洲色图 图片| 色哟哟的毛片| 午夜偷拍久久熟女| 成人线上超碰| 超碰综合97在线| 奸色色 男人天堂 天天射| 亚洲国产av中文字幕久久| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 国产精品大屁股999| 日韩欧美女优电影| www色日本| 桃花色综合影院| 97亚洲自在精品在线观看| 熟女一区二区| 国产成人+综合亚洲+天堂| 国产黄色在线播放观看| 男人天堂新在线| 欧美少妇性乱| 91 丝袜在线| 五月丁香婷婷色| 乱伦1色页| 日韩有码 一区二区三区| av橘色网站| 97资源欧美| 天天干天天插| 亚洲蜜桃V妇女| 日韩精品在线放| 欧美日韩亚洲天堂| 日本亚欧爱爱| 国产久久日| 欧美1727免费观看视频| 思思热免费视频观看| 影音先锋少妇| 欧美裸体美女日麻屄| 日本五区不卡| 国内97干免费看| 午夜呻吟欧美| 嗯啊不要在线| 无套内射性感少妇视频| 欧美丰满少妇xx高潮| 日本操逼视频免费| 天天欧美| 亚洲日韩狠狠撸视频| 欧洲与亚洲欧美精品中文字幕| 国产精品对白内射| 夜夜操二区| 高清无码国产亚洲| 日本一区二区不卡精品| 亚洲av综合色区图片亚洲| 啊啊啊啊啊啊好多水| 亚洲欧美变态| 北野未奈加勒比av| 色偷综合| 伊人991| 97这里都是精品| 97香焦色区| 亚洲久热| 五月天丁香网| 中文字幕在线免费观看视频| 成人看片网站| 欧美亚性天堂| 亚洲日本加勒比在线| 久久综合激情| 97婷婷色| 色婷婷基地| 久久婷色| 性欧美另类高清| 亚洲男人的天堂亚洲| 久久xxxx| 五月天婷婷久久| 亚洲AV无码乱码在线观看性色| 亚洲二区精品在线观看| aaaa少妇高潮大片| 成人福利视频网| 探花熟女,姿勢到位,體驗感也到位| 中文精品一区二去| 99re国产精品视频| 亚洲欧美在线观看2021| 日韩在线观看字幕精品| www网站黄| 人人操人人摸人| 日韩乱伦视频| 97人人射| 中文字幕精品一区二区精品| 欧美久久九九| 色爱欲亚洲| 国产青视频| 精品人妻一区二区乱码一区二区| 亚洲在高跟鞋自慰久久在色线| 啊啊啊啊二区好大| 好屌色综合| 免费草草草草草视频| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 少妇高潮九九九九| 韩国一级做a久久久久| 老司机福利青青草| 国产一级内射无挡观看| 亚洲操逼无码| 婷婷色婷婷| 中文字暮97| 国产SV一线| 青娱乐手机日韩在线视频| 99精品久久久久久| 国内一级精品| 午夜男女爽爽大片免费观看| 色五天伊人| 四虎影院成年人片| 亚州少妇| 久久久久久久久久久久黄色 | 天天综合-91入口| 人人操人人色网| 99re免费视频精品全部| 五月丁香社区婷婷日韩欧美精品影院 | 亚洲av强奸乱伦| 大奶啊啊好爽| 久久久久9999妇女| 国产三级中文字幕粉嫩| 久久久96| 国产精品激情久久久久久久| 亚洲第一页色| 美女主播色欲91抠b在线播放| 蜜臀th| 999热这里只有精品| 日本阿v天堂在线观看| 亚洲精品国产熟女| 婷婷久草| 91成人国产综合久久精品蜜月| 国产外初女出血视频| 妇女一区二区三区| 久久五月天婷婷丁香中文字幕| 大地资源在线观看中文第二页| 日韩三级久久久| 啊啊啊啊啊啊啊啊啊啊在线观看| 欧美96交| 国产丝袜欧美在线视频| 熟女视频久久| 97这里都是精品| 国产精品对白自产拍| 综合久久少妇中文字幕| 精品性爱一区二区| 久久av色| 欧美自拍网| 国产真乱mangent| 国产大学生高潮在线播放| 国产精品小视频一区二区三区| 素颜老阿姨乱情色| 91成人无码| 一线黄色免费性爱片| 99激情| 伊人久久亚洲中文字幕不卡| 夜夜欢天天干| 亚洲图片欧洲图片aⅴ| 97亚洲性爱| 久久亚洲天堂| 亚洲国产精品成人综合| 任你艹| 成人在线永久| 探花精品 一区二区| 肉嘟嘟www视频在线观看高清| 蜜臀精品1区2区| 久久超碰天天| 国产中文精品一区二区在线观看| 久久综合日韩亚洲欧美| 9久久久久久| 亚洲一区二区久久久久| 丰满翘臀美女影院视频| 大香蕉性欧美| 欧美东京热精品A∨| 青青草在线视频人人想人人上| 国产夫妻性生活视频| 国产亚洲精品无码三区| 欧美综合骚| 999久久久久久久久| 国产野战露脸在线播放| 国产精品乱人伊人网| 婷婷九月丁香| 国产欧美一级在线观看| 久久鲁夜| 久久双插| 日本丝袜美腿人妻九九| 翔田千里AV无码秘 三区| 97操操| 国产AB视频| 嗯啊抽插大香蕉网页| 综合网~91综合网| 日韩综合无码一区久久92| 五月天综合| 亚洲做性| 国产小u女在线观看| 激情四射五月天| 久久久久久国产成人| www.四虎在线| 欧美综合网| 久久久久久亚洲精品不卡人乳 | 自慰白浆在线观看| 天天情欲宗合网| 国产精品久久久久无码A√| 成人女人国产| 日本操逼aaaaa| 久操高青| 国产精品白领在线观看| 久久久久久性爱视频| 91无遮挡| 91在线美女| 国产精品免费久久久久久久久久| 日韩草久视频| 色欧洲| 亚洲美乱| 国产精品内射婷婷一级二| 国产丝袜美女诱惑| 精品欧美不卡在线播放| 黄色二级片网站| yaouchengrenav| 亚洲丝袜天堂| 黄色大片免费在线| 人妻 制服 日韩 中文 在线| 可能人人看人人摸| 欧美亚洲综合999| 天天天天天天天天天天干美女| 懂色av中文字幕一区二区三区天美| 淫荡少妇免费| 亚洲色图自拍| 国语对白在线播放视频| 夜夜高潮夜夜爽国产伦精品| 91人妻做a观看视频| 性欧美体内射精| 国产免费黄色一级大片| 亚州色站 日韩电影| 2018天天日天天日| 欧美成人综合| 91人妻尻屄视频| 亚洲 中文 欧美 日韩 在线| 日本欧美国内在线| 97av在线观看| 伊人97色天使| 91香蕉视频在线观看免费| 久久同城AV| 青青久久手机线视频| 高清不卡 中文 人妻| av凤凰久久久| 欧美黄业| 蜜桃视频精品一区二区三区| 免费精品中文字幕| 淫穴高潮色图| 鲁鲁色综合网| 人人贴人人摸| 国产免费一区| 婷婷五月天色色| 超碰2017| 欧美日韩国产电影| 九色在线熟女国产黑人| 亚洲国产天堂| 人妻天天爽夜夜爽精品2| 草莓精品视频在线免费观看| 香蕉大久久久| 水野优香在线观看| 国产精品国产亚洲区艳妇糸列| 99精品丰满人妻| 探花一区在线| 深爱伊人影院| 亚洲综合113页| 亚洲日韩美女中文字幕乱| 99少妇| 嗯嗯嗯不要不要免费视频| 欧美天天干| 欧美自拍网| xxx亚洲午夜天堂| 性爱免费视频成人| 亚洲熟女人妻中文字幕一区二区| 夜夜高潮夜夜爽高清视频一 | 亚洲欧美在线观看免费| 青青草综合在线| 国产美脚女优尤物在线观看| 中日韩熟女| 欧美天天干| 日韩少妇无吗| 天天日天天操心| 老外又粗又长一晚做五次| 毛片麻豆91糖心精品毛情片| 91狠| 黄在线| 亚洲精品 欧美97色色| 丰满欧美少妇| 99精品欧美一区二区三区桃色| 久久午夜神马| 国产白嫩精品久久| 欧美很很操视频| 免费岛国一级片| 人妻喷水| 91人妻视频| 国产高潮AA片免费看| 9国产超碰| 91日韩网站| 无码视频一区二区| 国产亚洲人妻综合日韩 久久| 国产乱色国产精品免费视| 91丝袜视频在线观看| 亚洲第91页| 国产后入精品| 欧美 亚洲 偷拍自拍| 影音先锋每日最新资源在线观看 | 欧美熟女逼久久久久久| 夜夜夜久久| 国产亚州日韩欧美看片| 1769国内精品视频| 久9精品| 欧美日韩精品青青| 东北老女人的激情视频| 爱射综合| 日韩无码专区| 亚洲国产精品有声| 人人操 欧美| 亚洲欧美清纯| 激情情色五月天| 精品无码一二三四区| 亚洲综合色男人网| 99在线观看| 少妇xx精品| 精品三级在线专区| 亚洲丝袜诱惑| 亚州,欧美在线| 欧美论理片| 国产又大又粗又长视频在线| 亚洲人妻一区二区三区| 色综合婷婷| 日本视频一区二区三区| 国产精品日韩在线一区| 日本成a人v网站在线观看| 精品少妇高潮久久| 亚洲天天影视综合网| 人人操天天爽| 中文字幕一区 二区三四五 区日 日骚 | 久操国产在线| 91天天爽| 国产AV人人夜夜澡人人爽麻豆| 1区2区3区中文字幕日韩| 久九九九九九九热| 色五91| 五月丁香| 91校园春色长篇| av资源在线播放天堂| 天天草夜夜草高潮片| A一区片| 日韩免费在线观看不卡| 日本在线观看网址| 思思热一热婷婷热一热| 日本免费一区二| 蜜臀久久99精品久久久老,,| 久久激情视频| 色99视频| 激情小说五月天| 91色婷婷综合久久中文字幕二区| 操美女高潮抽搐白浆| 国产97视频免费观看| 无码黑人精品一区二区三区三| 变态乱伦伪娘灌肠一区二区| 国产精品成人久久一区二区三区| 韩国免费播放一级毛片| 中文字幕黄片在线| 国产又色又粗又黄又爽| 夜夜操青青草| 亚洲一区二区三区播放在线| 欧美日韩日产免费网站看| 影音先锋视频在线| 在线免费观看日韩一区| 91爆操视频| 丝袜美腿制服人妻二区中文字幕| 国产区性爱在线视频秋霞豆 | 天天做天天爱天天爽| 五月天丁香| 国产精品一区二区三区在线密挑| 爽爽歪在线视频| 大香蕉 222| 吉田爱美AV在线| 色九九九| 经典丝袜一区| 中出20p| 夜夜嗨一区二区三区直播内容| 91中出视频| 亚洲开心网| 98人妻精品一区二区色欲| 性饥渴少妇av无码毛片| 人妻 丝袜美腿 中文字幕| 波多野结衣先锋影音| 99精品久久久久久久婷婷| 国产热RE99久久6国产精品首| 久久五月视频| 中文字幕日产av人| 黄呦呦在线| 大香蕉在线SuP| 国产精品农村妇女| 国产欧美在线观看免费观看| 国产精品嫩草久久久久| 亚洲一区二区三区AV无码| 人妻日日干| 五月丁香综合激情| 久久9久9久99久9久9| 91成人社区| 蜜臀99久久精品| 综合欧美亚洲| 国产精品探花色| 亚洲国产麻豆一区二区三区| 91美女中出| 欧美天天谢综合网| 国产女主播视频在线观看| 日天天九九天堂666| 亚洲天天在线| 日韩精品1区2区中文字幕| 日本污ww视频网站| 国产白领连续中出在线观看| 亚洲精品1区| 亚洲激情深爱文学小说网站| 亚洲无 码A片在线观看麻豆| 影音先锋视频在线| 美女刺激久久国产欧美| 91夜夜蜜桃臀1区2区3区| 在线 欧美 亚洲| 亚洲久久久久| 强奸国产在线| 嗯嗯啊操我| 91丝袜熟女| 麻豆精品.欧美精品.日韩精品.| 国产家庭乱伦表演| 亚洲系列第一页| 综合色图亚洲欧美| 欧美天堂亚洲电影院一区在线播放| 果冻传媒A片麻豆熟妇人妻| av一区二区三区不卡| 欧美综合区| 久久超碰亚洲人| 中文字幕免费在线观看| A片A5445444| 久久久久国产无av| 久久超碰大香蕉| 国产精品久久久亚洲第一牛牛_在线观看 | 欧美色图 人妻| 亚洲丝袜综合| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 男人天堂 天天射| 99精品人妻| 26uuu性| 欧美日韩性感| 粉嫩久久久极品| 国产精品人妻一区二区| 色婷五月| 九一性生活免费视频| 亚洲男人电影天堂| 亚洲一区中文字幕一区| 精品视频97| 欧美亚洲手机在线| 一级特级aaaa毛片免费观看| 97视频在线免费看| 啪啪啪男女亚洲中文字幕99| 国产性爱在线视频一区二区| 殴美,日韩国产伦精品| 日本精品一区二区三| 国产真乱mangent| 人妻AV 中文字幕的| 久久精品中文字幕女同| 中文字幕日韩电影人妻| 亚洲欧美精品一区天堂久久 | 成人贴图日韩欧美| 综合熟妇一区二区三区| 大香焦A片| 密臀在线免费观看| 久久99九九九九6666免费观看软件| 日本国产高清色www视频在线| 免费农村成人少妇人妻Aa一区二区视频| 东京男人天堂| 久操视频资源站公开| 欧美 传媒 麻豆 日韩 偷拍| 98久久| 激情小说五月天| 日本 情色 1区2区3区| 2017人人操,人人摸| 青青草自拍视频在线播放| 一二三区精品视频| 亚洲成?V人片在线观看福利| 任你干在线视频| 国产隔壁老王影院在线| 不卡九肏| 清纯唯美亚洲| 日本特黄f c2| 超碰99在线| 91干熟女| 少妇熟女视频一区二区三区| 亚洲欧美在线观看免费| 亚洲一二三| 欧美一二三级精品在线| 嗯啊不要啊啊在线观看视频| 久草在线| 亚洲欧洲小说图片视频 | AV高清一区| 伊人网免费视频| 黄色大片一区二区密桃丝袜| 69麻豆天美| 五月婷婷深深爱| 日韩一级二级三级| 久久激情网| 超碰色图| 亚洲婷婷五月天| 国产97在线 | 亚洲| 色综合天天| 天天肏天天干| 欧美午夜精品久久久久久3D| 丝袜综合网| 国产女人高潮视频| 久草新在线| 欧美在线官网| 午夜美女福利视频| 96AV久久久| 黄片免费视频2019| 97色涩| 欧美日韩国产三级黄色| AV色图| 蜜臀操逼黄色视频操的好爽| 综合视频91| 欧美十八禁网站| 青草伊人久久| 99婷婷| 亚洲熟女av中文字幕| 日本熟妇熟色97一本在线观看| 97香蕉网| 黄色不卡视频| 先锋色眉乱伦资源| 亚洲图片欧美另类综合免费视频大大香| 国产精品免费美女视频| 欧美日本不卡在线| 志村玲子视频一区二区| 日本一级特级毛片视频| 极品粉嫩一区二区| 中文字幕人成乱码熟女香港| 98福利在线视频| 日韩精品视频在线观看一卡二卡| 欧美高清91| 亚洲男人的天堂亚洲| 超碰精品97| 亚洲精品男人的天堂| 欧美高清第一页| 97激情97激情| 免费的很黄很污的全部视频| 欧美亚洲韩国视频十五区| 另类天堂| 性爱视频免费网址| 加勒比伊人综合| 午夜精品视频777| AV中亚| 亚洲 欧美 另类 日韩 人妻一区| 欧美顶级黄色大片免费| 欧美亚洲系列| 中文字幕艹艹| 一区二区三区探花在线观看| 国产精品夜夜夜| 97视频网站在线观看| 欧美18 在线观看| 色综合1991| 亚洲欧洲偷拍一区| 一区二区三区黄色片a| 欧美淫乱视频| 亚洲黑丝在线| 久久中文字幕一区不卡| 久久精品 六十路 熟女 欧美| 首页亚洲国产高跟丝袜诱惑视频| 韩国免费播放一级毛片| 成人欧美日超碰| 国产这里只有精品| 呦呦影院| 91中文字幕在线观看| 大鸡巴久久久| 日韩一区二区三区四区五区| 大香蕉伊人75| 日日日骚女人精品| 任你草| 中文久久| 狠狠爱夜夜干| 日韩欧亚太美不卡| 91天堂色男人的天堂| 亚洲天堂精品日韩电影| 91欧美性| 91在线美女| 一级A片女人高潮叫床| 欧美亚洲| julia ann久久| 黄色二级片网站| 国产精品无码AV网站| 亚洲欧美综合| 中文字幕精品三级久久久| 夜夜爽妓女| 久久久久久AⅤ无码免费肉站 | 伊人国产成人av网站| 亚洲日韩乱码中文无码蜜桃臀网站| 六月婷婷五月丁香| 熟女五十路一区二区三| 久久久久夜夜夜夜| 九九超碰综合网| 伊人色综合超碰| 99自拍视频| 思思热久久成人| 91亚州| 疯操AV| 国产精品久久久777| 少妇一线天久久久久久| www国产天美久久久| 成人小说另类在线| 男人的天堂久久| 日韩精品大香蕉伊人在线| 婷婷久久综合久| 亚洲国产尤物yw在线观看| AV中亚| 国产丝袜高跟美女av免费观看| av午夜玫瑰| 99色综合| 人人考人人摸人人干| 中文一区二区三区影院| 1024精品在线| 久久精品无码不卡| 另类 综合 日韩 欧美 亚洲| 精品国产嫩穴视频| 91综合在线| 偷窥自拍A片| 色天使亚洲综合在线观看| 日韩欧美性吧婷婷乱伦大香蕉 | 黄色av一区二区在线| 一级做a爰片久久毛片图片| 一级一性爱免费视频| 欧美激情 一区| 日韩 女同 综合| 东京热av男人的天堂| 怡红院怡春院| 91久久精品蜜臀| 欧美日韩性爱精品| 艹少妇网站| 欧美一级特黄淫片在线观看| 国产美女在线精品免费看| 78久久| 大香蕉视频啪啪啪啪| 丝袜视频网国产90| 激情四射婷婷六月天| 夜夜 中文视频rt| 麻豆国产成人精品| 亚州久久9| 欧美色997| 亚洲精品一二三四区| 女同亚洲欧美一二三区久久电影| 大香蕉婷婷| 色婷婷av在线观看| 国产尹人在线视频免费| 国产又粗又长又爽又色| 日本Xx性爱| 中国东北熟女老太婆内谢| 欧美黄色大片在线观看 | 色盈盈影院| 性色高清在线| 国内黄色精品| 夜夜嗨av午夜成人| 精品乱子一区二区三区99| 粉嫩国产精品久久久| 素人美腿视频网站| 任我爽视频在线观看| 91在线美女| 亚洲综合影视| 97精品久久久久久久| 一区二区三区日韩欧美| 熟女中出视频| 国内操逼视频二区| 做爱福利视频一区二区| 加勒比日本在线| 九九热精彩视频| 日韩一级二级三级免费看完整版国语版| 狠色婷婷久久一区二区三区_| 天天看高清麻豆| 亚洲国产青青| 蜜桃臀一区二区aV| 四虎精品永久在线观看| 欧姜老司机| 99无码| 一本色道无码DVD中文字幕| 麻豆国产97在线| 亚洲精品乱码线路中文字幕| 日韩欧美成人午夜福利| 久久精品国产亚洲AV嘿嘿| 91成人久久| 99热这里只有精品地址| 99熟女| 97天天爽| 欧美综合骚| 偷拍亚洲高清图片| 我中文字幕6区| 尤物视频偷拍免费| 久久精品无码专区| 国产农村妇女精品| 蜜乳AV.COM| 18禁网站在线播放| 丁香五月性| 婷婷五月花| 日本三级日本三级三级人妇四虎| 欧美色日本| 无卡一区=区| 九热久| 五月丁香黄色网| 国产成人手机视频激情| 激情小说成人日本无码一| 久久99网站| 久久久久9久久久久| 最新精品久久蜜桃 | 超碰97精品在线| 欧美狠狠弄| 超碰这里有精品| 午夜视频久久久| av激情亚洲五月天| 亚洲系列第一页| 91久操| 国产超碰在线一区| 国产91专区| 屁股久久久久久| 精品日韩人妻精品一二三区| 国产97视频免费观看| 欧美性天天影视| 搞中出视频在线观看| 男人天堂毛片| 精品无码欧美三级| 欧美日韩国产色图在线| 婷婷五月天网| 成人在线永久| 日本欧美不卡| 免费观看性欧美一级| 一块操欧美| 亚洲丝袜B诱惑| 久久精品成人| 韩国手机不卡无码三级视频| a级理论午夜日本| 在线天堂999| 青青草中日韩在线| 97综合在线| 婷婷视频在线免费观看| 国产不卡精品91| 性交一区二区在线播放| 凹凸精品熟女在线观看| 国产精品麻豆视频网站| 国产在线76页| 狠狠干妹子| 一级毛片电影免费看| 俺去俺来也在线www| 中文字幕日产av人| 88在线一区二区三区| 97色伦97色伦国产欧美| 亚洲成人久久美女| 啊啊啊啊二区好大| 欧美春色| 人妻一区视频| 久久婷婷五月天| 免费97视频| av毛片aaaaa免费看| 成人国产精品三级A片| 操逼内射干逼白丝91| 竹菊一区二区三区AV线| 色五天伊人| 97国产精品国| 96国产精品| 欧美aaaaaaa| 九久9热| 亚洲 欧美综合| 色情乱伦AV| 91色综合激情| 夜色91| 人人天天干干| 久久草视频污视频| 成 人 A V免费视频在线观看| 激情综合婷婷| 色爽——AV| 强被迫伦姧在线观看无码网站| 99热综合| 久久国产精品视频| 亚洲欧美日韩二区视频| 嗯嗯嗯啊啊啊操的我好爽| 亚洲综合伊人无码久久| 国产不卡免费在线视频| 麻豆AV短剧| 屁股久久久久久| 91九色网| 自拍啪啪视频| 午夜爽爽爽在线观看永久入口姬片| 欲色影视综合吧| 欧美色图第一页| 丁香婷婷久久| 久久久91福利姬| www.yeyecao| 色九九九| 欧美色图20p| 色婷婷99| 风间由美日韩欧美久久| 亚洲国产成人精品无码专区| 欧美在线视频播放| 午夜激情成人在线观看| 91老熟女逼| 少妇综合| 爱射综合| 亚洲天天自拍| 爱我干综合| 在线小说视频一区| 欧美视频一区二区在线| 欧美午夜视频| 无码区蜜乳| 色诱中文字幕| 青青草国产欧美非洲黑人| 丁香五月AV| 久操国产在线| 超碰在线99| 深夜视频| 亚洲男人bt天堂| 久热伊人| 91黑丝在线播放| 97狠狠| 大香樵伊人网| 99re98| 99热亚洲| 精品久| 欧美另类色| www国产无码| 久久的网站啊啊啊啊啊| 97无码视频在线播放| 熟妇最新先锋一二三区| 国产1024在线播放| 国产美脚女优尤物在线观看| 久久久性| 超碰碰97| jizz啪啪| 国产精品suv一区| 精品人妻一区二区视频| 欧美78| 在线强奷到舒服的无码视频| 亚洲交换| 日本黄 R色 成 人网站| 亚洲高清欧美总合| 丝袜美腿欧美| 校园春色综合网| 亚洲黄日韩无码专区| 免费精品中文字幕| 91精品免费| 91黑人无码激情在线| 色97综合中文字幕| 久99久视频| 欧美亚洲小说| 色月天AV导航| 欧美一级特黄淫片在线观看| 青青草中日韩在线| 欧美丰满熟妇XXXX性ppX人交| BBBBB97COM| 69AV女优男人的天堂| 91色人妻| 九九九九免费视频| 欧美99热| 2019天天干| 加勒比日本在线| A片 AV一级在线播放观看免费 | 久久久久久久国产| 日韩欧美一级特黄大片| 欧美成人精品一区| 色月天AV导航| 国产精品点击进入在线影院| 好爽要喷了| 极品色社| 乱操乱伦AV| 国产后入清纯| 日本免费中文一区二区三区四区 | 精品成人无码| 69丨亚洲丨精品丨入口免费播放| 色色激情| 黄色免费网| 综合九九| 熟妇在线视频一区二区| 日韩偷拍一区二区三区| 老汉网| 欧美丰满熟妇XXXX性ppX人交| 欧美成人精品欧美一级乱黄一区二…| 91在线|亚| 免费黄色片。| 一区二区三区一亚洲中文字幕、综合区灬| 超碰在线99| 欧美性爱日韩高清| 国产精品高朝久久久久久久| 成人五月香网在线| 91丨豆花丨熟女| 9久久久久久| 免费久久9999| 午夜精品视频777| 免费家庭乱伦视频| 亚欧美色图| 综合网,亚洲,欧美| 手机在线人成免费视频| 97欧美| 久久亚洲色图中文字幕| 天天爱天天韩国日本牛牛牛牛 | yirendaxiangjiashipin| 操逼视频亚洲| 91精品国产91综合久久蜜臀| 天天综合麻豆视频| 91色久| 国产操伦| 精品国产乱码久久久久久蜜臀| 亚洲AV永久无码精品成人调教| 国产精品久久久久无码AV会牛| 天天看天天日天天操|