国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲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
返回資訊列表
激情综合二| 99热欧美| 亚洲综合激情五月久久| 蜜乳中文字幕a在线| 欧洲精品在线播放| 天天日日夜夜| 亚洲成人一区二区精品| 韩国黄片aaaa| 性暴力欧美猛交在线直播| 欧美日韩另类激情图片| 少妇色综合| 性爱动态120秒| 丁香五月婷婷五月| 日韩中文字幕在线视频观看| 天堂俺去俺来也www久久婷婷| 日本阿v天堂在线观看| 久久女女| 热热色中文无码| 成人欧美日超碰| 日韩熟女精品无码专区一区二区 | A V少妇特黄三级| 国产成人无码啪| 超碰精品日韩欧美国产| 思思热在线视频免费| 久久精品导航| 人妻天堂网| 日本不卡免费二区| 青青草色AV| 亚洲精品蜜桃久久久| 天操天操夜操夜月操月年年操操| 五毛骚逼极品美女怕怕| 夜夜精品视频一区二区| 97在线免费看视频| 欧美激情综合| 欧美gv在线观看| 国产成人亚洲精品无码最新在线| 一起草三级AV电影在线观看 | 亚洲的天堂网| 加勒比无码毛片| 易易A毛视频| 91精品国| 收看日本人日bb| 亚洲天堂一区| 国内自拍 日韩激情 99| 精品国产乱码久久久久A| 人妻少妇精品一区二区三区| 美女大乳久久久久久久女人18| 旡码电影特区| 99蜜桃臀亚洲成人在线观看| 18禁久久| 午夜视频黄| 男插女青青影院| 青青操网| 插日本熟女视频| 99性爱视频| 日本人体九九九九九九| 97硬碰| 97公开久久| 91美女在线视频| 天天操美美| 97在线视频免费看| 美日韩男女操屄视频| 国产精品成人无码a v毛片| 秋霞免费AV| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 性爱边摸边日免费AV| 国产无马视频| 91精品久久久久久77777| 大香蕉92| 欧美精品成人一区二区在线观看 | 五月婷婷丁香六月丁香| 日韩天堂av电影在线观看| 台湾大香蕉99热| 大香蕉欧美| 无码黑人精品一区二区三区三| 乱伦AVxx| 91最新综合| 久久综合久色欧美综合狠狠 | 色噜噜人妻av中文字幕| 国产传媒午夜理伦精品| 欧美香蕉视xxx| 亚洲色图加勒比| 欧美色997| 人妻少妇精品久久久| 色777999综合| 成人免费性爱视视| 婷婷五月天色色| 久久久久9999妇女| 人人做天天爱| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 色综合久久夜色精品国产天堂| 国产免费一区| 日韩极品无码B| 亚洲av乱伦色图网站| 夜夜高潮夜夜爽| 亚洲日本大香蕉1| 麻花豆传媒剧国产MV出差| 久久婷五月天| 很很操在线| 久久激情综合| 黑人粗大V S日韩女优视频| 超碰成人人人爽人人爽| 婷婷精品| 久久二| 囯产操逼片| 啊啊啊啊二区好大| 操迟操逼在巾线Fre看| 嗯啊啊啊轻点视频 | 啊啊啊快操我视频| 国内偷拍精品一区二区| 图色综合网| 中文字幕一二三| 亚洲成?V人片在线观看福利| 91嫩草在线| 一级aaaaa欧美中文字幕录像片| 韩国一区二区精品亚洲| 无码78| 人妻天天夜夜爽一区二区| 久久九九热| 久久青青草原免费视频| 啊啊啊水好多| 亚洲黑丝在线| 国产一级舔足在线观看| 色原狠狠天天天| 色官网在线| 九色 蝌蚪 熟女自| 激情小说五月天| 欧美在线电影| 韩国一区二区精品亚洲| 天天上日日上日韩精品| 在线视频一区二区传媒| 亚洲色图尤物视频 | 亚洲精品第一| 91亚洲情色| 久操99| 日本人妻伦在线中文字幕| 婷婷成人久久久精品| 亚洲开心网| 九九热五区| 日韩性爱免费观看视频| 亚州国产成人精品女人久久 | 91亚州欧美| 黄色人人| 天美传媒精品久久视频| 激情丁香五月| 无码区蜜乳| 精品少妇高潮久久| 北京专精特新企业招聘信息| 乱伦系列一区二区| 97爱综合| 天天欧美97| 亚洲色图91欧美日韩| 黄片免费视频2019| 日韩欧美麻豆 | 日韩不卡网操逼中文字幕日韩| 影音先锋视频在线| 亚洲精品电影| 精品中文一区二区| 青青草在线视频人人想人人上 | 亚洲第一色页夜| www色色com| 水多多映视AV| 欧美综合综合| 国产丰满少妇久久久精品影院| 国产 丝袜 欧美中文 另类| 麻豆天美传媒毛片| 亚洲欧美激情小说| 成人精品视频| 国产人妻一区二区三区欧美毛片| 国产人伦精品一区二区三区| 91久久精品国产| 91社操逼| a男人的天堂久久一级A毛片| 欧美专区17页| 五十路人妻在线| 蜜桃久久久久久久| 性色一线| 五月丁香啪啪啪| 91社区拍啪人妻| 操逼视频国产无套| 久久久97| 人妻丝袜日本| 欧美日韩国产色五月综合在线| 高清不卡一二三区视频......| 国产女性无套 免费观看| 欧亚无码视频| 啊啊啊啊操死我| 青青青草原| 91丝袜美腿片| 国产精品动态一区二区三区四四| 亚欧美色图| 欧洲精品人妻| 欧美视频激情久久久久久| 香蕉一区二区三区在线视频 | 久久97精品久久久久久久不卡| 60秒免费视频| WWW美腿丝袜香蕉中文| 草伊人高潮喷水超碰| 在线人妻熟女一区二区三区四区五区| 国产亚洲人妻综合日韩 久久| 国产精品自在线发布| 无遮挡一级毛片视频免费的| 天天躁日日躁AAAAXXXX国产| 久久精品欧美一区二区三区不卡| 人妻9117c| 天天综合亚洲综合| 成人毛片免费| 国产最火爆久久国产网站网站| 97色碰| 新亚洲无码| 国产强奸无码乱伦| 国产精品久久天天干| 免费a级毛片av无码久久精品中文字幕| 欧美亚洲小说| 看免费的黄片| 香蕉人人操tv| 黄污污污污| 免费看毛片操穴| 久久久艹艹艹| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 国产美女自拍视频| 欧美91在线| a男人的天堂久久一级A毛片| 一级aaaaa欧美中文字幕录像片| 日本色色色色色视频| 亚欧成人中文字幕一区| 久久久久成人蜜桃精品| 亚洲影院小综合| 日韩 欧美 国产 麻豆| 97网站在线观看| 天天操夜夜操| 天天日B夜夜干B时时操B| 免费人成?大片在线播放| 99日韩| 亚洲91av| 久久精品区| 国产精品剧情| 蜜乳AV.COM| 精品婷婷| 操逼精品视频| 久久久天美| 国产99热| 红杏大香蕉| 91在线美女| 蜜桃一区二区三区| 国产日韩久久| 日韩黄色成人性爱| 欧美激情久| 美女久久久久久久久久久| 成人一道本免费视频| 国产精品无码在线| 日韩一级二级在线| 天堂亚洲精品| 琪琪精品免费一区二区三区 | 97资源站国产精品| 欧美亚洲国产91在线| 色噜噜人妻丝袜a∨先锋影| 夜夜爽妓女| 国产少妇内射| 国产Aα| 黄色污污污污污污网站| 欲女人妻性色av| 久久久少妇| 人人干人人操人人..com| 97人人爱人人做人人乐| 91亚洲综合| 人妻熟女av国产网站| 色爱欲亚洲| 熟妇女伦乱视频| 日韩欧美成人性爱在线| 欧美日动态视频| 欧美欧美啪啪视频| 日本 欧美 亚中文字幕| 久久久999国产精品| 欧美一级黄片视频在线| 国产精品欧美激在线| 中文久久久| 色婷婷五月综合| 亚洲色图第四色| 八戒无码国产午夜福利| 伊人 俄罗斯 a v| 欧美国产精品久久九九| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 人妻欧美| 91在线页| 啪啪啪亚欧美视频| 亚洲中文字幕97久久精品少妇| 十八禁电影伊人网| 日本人人操人人操| 福利五区| 亚洲黑丝在线| 国产精品操| 五月色综合| 俞拍久久国应视频| 爆乳免费黄网站| 日本操逼视频免费| 亚洲射综合网| 国产熟女完整版中字| 精品999日本| 97人妻免费中文字幕| 亚洲精品不卡一二三区| 乱伦3P视频| 丰满丝袜少妇AV| 久久99午夜精品一区人妻| 99在线啪| 婷婷五月花| 大香蕉中文在线| 99热这里只有精| www.亚洲黄色| 国产蜜臀在线| 91在线美女| 国产最新小视频在线播放下载| 午夜精品久久久久久久99热影院| 中文字幕一区二区在线日韩精品| 精品一区二区2| 国产农村妇女一区二区| 亚洲无码国产精品久久| 天天综合网~91| 国产久久一区二区午夜| 成人自拍三级在线观看| 男人天堂久久精品不卡| 色妹子A V| 国产精品视频自拍在线| 天天欲望网| 97久久精品国产| 最新中文字幕在线亚洲| 99re9| 躁躁日曰躁2020| 久久久免费的精品| 香蕉视频欧美一卡二卡| 91综合天天看| 国产天美传媒精品| 91狠婷| 曰韩操B| 蜜臀久久99精品久久久久电影| 吻戏激情性巴克| 免费黄色片。| 蜜臀一区二区三区在线| 麻豆区久久久久亚| 内射黑人| 亚洲有码 欧美精品| 日本成人A片免费看| 大香蕉懂9| 欧美亚洲涩涩| 四月丁香婷婷| 超碰碰碰碰| 欧美操逼熟女| 亚洲av综合伊人久久| 91欧美情色| 久久超碰98| 亚码激情| 污啪啪啪视频| 日韩av不卡在线观看| 性夜影院爽黄A爽免费动漫| 看看日B真人视频| 国产AV天美| 91丝袜美女国产| 国产亚洲色婷婷久久99精品91葵花宝典 | 91肉丝| 色哟哟av| 青草视频人妻在线观看| 五月天久久婷婷亚洲| 成人精品在线观看| 影音先锋国产精品| 欧美精品999| 在线无码操| 日韩精品在线视频在线观看| 综合久久少妇中文字幕| 亚洲色阁| 精品视频久久| 男人的天堂久久| 18禁久久| 97亚洲自在精品在线观看| 韩日巨乳美女免费视频在线观看| 操人妻逼91| 天天弄欧美| 日韩精品三区四区| 亚洲综合888| 美女黄页| 安徽熟妇视频| 人妻无码后入| 嫩草影院永久在线制服丝袜| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 久久夜夜夜夜| 97 超碰 人人做 人人爱| 熟妇亚洲一区二区三区| 日韩激情视频| 久久久熟女一区| 男人的天堂三级| 亚洲丨在线| 91亚洲网站| 蜜臀久久99精品久久久久久酒店 | 波多野42部激情无码喷潮| 精品国产Av无码久久久伦古装| 免费试看60秒| 在线无码视频| 欧美成人黄网色网站| 9999免费精彩视频| 天天看综合网| 九九九精品一区二区无码| 新精精品久久精品| 午夜噜噜噜| 亚洲欧美另类图片| 6080YYY午夜理论片在线观看| 3d成人精品一区二区| 婷婷中文网| 日日日日日| 人人澡综合涩| av橘色网站| 天天综合网日韩| 亚洲一级性爱视频免费看| 91呆哥人妻| 精品一区二区三区蜜桃臀赵总 | 五月天九九日国产精品一区二区三区| 国产白丝av| 91精品久久久| 国产原创自拍| 美美91成人国产精品欧美精品久久久久久久| 亚洲精品蜜桃久久久久久久| 日韩在线电影| 国产 热久久久久国产精品| 综合五月天| 97久久免费| 91bbbbbb| 一本一道波多野毛片中文在线| 亚洲成人性爱在线观看| WWW4虎| 日韩综合色网| 日本 色 导航| 爆乳免费黄网站| 青操影院| 婷婷丁香九月| 偷拍欧美激情| 欧美综合第一页| 久草网站免费在线观看| 美女91在线观看| 国产欧美另类久久久精品课程| av一区二区三区四区| 深爱五月天| 亚洲骚男同com| 日小BB小视频| 日韩一999精品| 91人妻熟女| 国模少妇一区二区三区| 999 久久久| 午夜啪| 中文字暮97| 91欧洲入口| 国产精品人妻熟女aⅴ| 性感女人网页在线观看视频| 免费试看60秒| 欧美图片偷拍| 欧美色图亚洲激情| 亚洲成人碰碰| 99re视频这里只有精品| 黄网色一区二区三区四区精品| 97色爱| 中文字幕一区电影在线观看| 日韩欧美中文日韩欧美色| 欧美亚男人的天堂| 色999人与兽| 极品少妇久久久久| 欧亚在线视频| 人妻熟女一区二区在线视频| 性爱乱伦网址| 人妻喷水| 97色婷婷| 中文字幕AV中出| 欧美性爱另类综合| 南澳成人一级片在线播放| 亚欧高清v| 51一区二区三区| 国产激情av女片自拍| 99后入| 久久精品三级影视| 亚洲熟女一区二区| 95人妻爽爽人人做人人澡| 亚洲熟女诱惑| 中文字暮97| 人人搞人人插人人操| 欧美在线官网| 亚洲囯产精品女人久久久| 超碰人妻中文在线| 国产三级日产三级韩国三级 | 97精品久久| 99这里有精品| 少妇一区二区三区高速| 加勒比AV天堂| 无套内射性感少妇视频| 九九九九国产| 动漫av中文| 在线视频日韩欧美国产| 啊啊啊久久| 久久一区,青青青青草视频在线播放| 少妇一级无码精品| 激情黄色五月天| 少妇滛荡视频| 美国日韩黄片| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 中字乱伦AV| 天天亚洲| 精品无码久久久久| 久久草大香蕉| 八戒午夜福利理论片| 中文字幕av一区二区三区人妻少妇| 色婷婷综合网站| 久久成年片色大黄全免费网站| 色色综合97| 久久亚洲婷婷| 欧美日韩操逼动图| 亚洲牲交| 欧美在线|亚洲| 亚洲 欧美都市激情| 久操凹凸视频| 91春色| 不卡六六在线91| 青娱乐亚洲热| 玖玖色综合| 黄色av网站在线播放| 国产欧美另类久久久精品课程| 男人的天堂欧美| 婷婷天堂站| 色就色综合| 久久97| 欧美美逼| 97精品网站| 韩国女主播青草在线| 婷婷五月天福利| 天堂中文资源在线bt| 久久国产在线一区二区| 日日骚中文字幕| 国产av色网| 91成人社区| 亚洲AV资源| 又黄又爽在线观看视频| 色999五月色| 99热99在线播放激情| 亚洲色图综合| 熟女精品日韩一区二区三区| 97在线播放 | 色月天AV导航| 天天日老熟妇| 亚洲色图超碰在线| 欧美1727免费观看视频| 91色婷婷综合久久中文字幕二区| 中文字幕乱在线伦视频中文字幕乱码在线| 日韩欧美性吧婷婷乱伦大香蕉| 亚州综| 久久久久女教师免费一区| 久操影视| 人人操人人精品影片| 日日夜夜草草草| 亚州久久9| 丝袜无码a片| 国产熟妇一区二区| 国产欧美成人精品| 操淫穴亚洲五月丁香| 亚洲色图欧美另类在线| 大香蕉琪琪日本女优不卡| 9999亚洲电影| 国桃视频产巨乳精品一区二区在线| 欧美少妇性乱| 无码精品啪啪啪一区二区三区三州| 欧美少妇高潮久久91| 91爱看| 亚洲男人天堂2| 亚洲欧美啪啪| 欧美性夜| 色哟哟 日韩精品| 中文字幕天堂在线| 国产精品亚洲无码| 久久精品国产免费观看99| 欧美性爱在线无码| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 欧美大香蕉久| 一级黄色性爱A级片| 色一色综合网| 久久超碰爱| 97超碰热线| 941超碰| 色97干| 丁香婷婷五月| 欧美系列在线一区二区| 色婷婷影院| 日本女厕偷拍| 久操视频在线| 成人小说另类在线| 入口操逼网站| 亚洲成人一二三区| 亚洲在钱| 亚洲欧美综合| AV污污污污| 男人天堂久久精品| 激情四射五月天| 黄色工厂这里只有精品| 日本三级A片网站com| 日韩不卡a级视频专区| 九九热免费国产视频婷婷伊人五月| 99re只有精品| 国产熟女无套内射| 丰满岳乱妇一区二区三区| 大香蕉伊人久久| 高潮嗯啊性感美女久久久| 国产精品禁久久久精品| 岛国激情视频在线观看| 欧美一区91大爱| 亚拍在线| 伊人网免费视频| 亚洲日韩精品在线播放| 亚洲视频小说| AV乱伦国产| 国产成人综合网| 久久久禁| 久久性爱视频99| 色噜噜狠狠色综无码久久合欧美| 9久精品视频在线观看| 精品福利| 久久久久久人妻| 蘋果手機免費看成人Av| 欧美精品69性爱| 午夜人妻精品综合在线| 素人伊尹大香蕉免费下载视频| 91av一区二区在线观看| 99久久com免费视频′| 亚洲天堂电影网99999| 日本操色导航| 秋霞一区二区三区四区五区六区七区| 搡老女人老熟女91| 清柠毛片| 欧美天天综合在线| 大香蕉九九| 超碰久草| 日本3级一区二区免费| 91丝袜熟女| 成人97人人超碰人人| 男人的天堂激情| 色牛aV| 91色综| 少妇熟女一区二区三区| 欧洲色| 91性情| www.夜夜操| 成人国产二区三区在线,男女精品。| 国产三级电影免费观看| 久草线上视频免费看| 操逼啊啊啊91| 久久久久久99999国产精品| 国产美女mm131爽爽爽爽| 骚女高跟AV在线| 亚洲精品影视老司机| 97超碰中文| 日本护士高潮| 久久精品无码一区二区三区| 一区二区偷拍拍视频| 国产精品熟女一区二区三区| 国产精品久久久视频| 被窝影院午夜看片无码| 97精品97| 91精品国产高清久久久久久,亚洲成人| 在线小说视频一区| 97色色婷婷| 久久久久九九九| 日韩AV一区二区三区三州三州| 在线亚洲 欧美 日本专区| 妇女视频网站| 中国国国产一级特黄毛片| 亚洲自拍小说| 精品射1999| 成年人三级黄色片视频| 久久中文字幕女同性恋一区| 久久女婷| 久久久久亚洲熟妇熟女| 在线亚洲丝袜视频网站| 色五月婷婷久久| 偷拍精品一区二区三区| 天美传媒Av在线| 国产热RE99久久6国产精品首 | 99热97| 国产欧美精选自拍一区| 精品人妻视频一区二区在线播放 | 97久久久精品| 国内精品久久久久影院亚洲| 视频不卡中文字幕| 亚洲欧洲无码一区夜| 操91| 国产女人高潮嗷嗷嗷叫小说| 色天天野狼综合社区| 亚洲18禁| 久久久久国产一区二| 欧美成人贴图| 成人情色一区二区| 亚洲欧美日韩制服另类| 黑人性暴力毛片| 97自拍一区| 亚洲成人碰碰| 人妻乱仑一区二区三区| 国产精品懂色tv影视免费观看 | AAA久久| 欧美亚洲一级在线观看| 精品无码久久| 精品中文日韩字幕视频| 热天堂一区二区| 色欲久久综合| 免费超碰97在线观看| 超碰97亚洲| 久久九九热| 91总综合网| 欧美日韩高潮喷水91| 国产成人bd在线观看| 超碰97色| 一本色道久久综合精品婷婷| 60秒免费小视频| 热天堂一区二区| 大香蕉123| 国产精品视频精品一二| 香蕉久久AⅤ...| 日韩成人性日韩成人性爱视频在线免费观看| com 首页 18岁 禁区 女优 免费 精选 同城 | 密臀AV在线| 青青青国产| 伊人五月天| 国产精品美女久久久久AⅤ国产馆| 夜夜骑夜夜操| 青青草九九九九九| 伊人久久艹| 亚洲αv一区二区三区| 老司机深夜18禁污污网站| 色吧91| 不卡在线观看视频| 精品无人区麻豆乱码1区2区图片 | 亚洲九九九| 精品一区二区三区18| 欧美综合狠| 97视频免费在线| 91网站在线播放| 久久久91福利姬| 综合激情一一91| 97超碰这里只有精品| 欧美性爱网97| 色亚州人久干视频在线观看免费版| 黄呦呦在线| 一本一首道人妻少妇免费久久| 嗯嗯嗯不要不要免费视频| 亚洲不卡不卡中文字幕不卡| 国产怡红院| 69综合网| 九九国产| 国产蜜臀在线| 亚洲黄色电影| 精品视频在线观看| 香伊人在线| 中国大陆国产高清AⅤ毛片| 乱伦Av网| 一起草av| AV天天综合| 欧美在线|亚洲| 亚洲97网站| 久久高潮妇女视频| 欧美成人免费在线观看| 无码高清国产AV| 久久久 国产精品| 色色五月天婷婷| 亚洲国产剧情少妇激情| 色老牛| 国产91美女视频| 96精品久久久久久久久久| 亚洲欧美国产中文视频| 日韩国产在线观看av| 色五月丁香五月| 热久久91婷婷| 9999久久久久| 久操97| av天堂天堂av日韩| 欧美丰满熟妇XXXX性ppX人交| 五月天丁香| m欧洲一级午老| 久久久久久久久女黄| yw尤物av无码点击进入麻豆| 美中日韩无码| 人妻夜夜爽天天爽麻豆三区网站| 欧亚日韩三区| 国产精品一区二区三| 久久久久免费看少妇A片特黄| 中国亚洲呦女专区| 男女91| 2017天天操天天日| 国产亚洲性生活视频播放| 在线观看黄色电话| 国产精品色哟哟| 91精品人妻一品二品三品| 激情 欧美 亚洲 小说| 99超级碰免费视频| 国产精品久久久久久久免牛肉蒲团| 台湾佬大香蕉| 欧美日韩精品一区二区三区高清| 天美AV片| 久久中文字幕人妻熟av女蜜柚| 欧美国产精品久久九九| 久久东京国产精品视频| 青女在线| 亚洲视频中文一区| 中文字幕在线免费观看视频| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 九九九九九九九| 黄视频免费| 欧美嗯啊……在线观看视频免费| 久久久久久中文| 噜噜噜在线视频| 久久久久久亚洲精品中文字幕人妻| 色99久草| 日韩精品免费高清视频在线| 91丝袜美女| 午夜精品久久久久久久久久久久久| 强歼乱伦资源网| 亚洲情色在线| 情趣丝袜无码操逼视频| 91九久| 欧美国产婷婷久久| 爱做久久久久久| 欧美与日韩97| 自拍偷拍 高清无码| 绯色AV粉色AV蜜臀AV| 丰满人妻一区二区三区色-百度| 大香蕉久操| 91天美免费| 精品国产片亚洲一区| julia ann久久| 人妻中文字幕日韩电影| 青操影院| 亚洲日韩成人性爱视频| 任你干在线视频| 五月丁香拍拍激情综合三级| 人妻内射一区二区在线视频| 久久久久亚洲?V片无码V| 欧美日动态视频| 二男一女成人A片| 国产久久久久影院老熟女| 911av网站免费观看| 欧美成人色| 性在久久久久久| 男人的天堂日韩| 久久久夜夜嗨免费视频| 日本 情色 1区| 六月婷激情福利天堂69| 麻豆三极片| 国产精品。| 91足交| 超碰九九| 精品一区二区三区蜜桃臀赵总| 91人人| 操学生天天| 精品国产丝袜一区二区三区乱码| 天天操天天7| 二色av| 97免费在线| 操人妻逼91| 免费在线黄片视频| 我爱操| 欧美午夜精品久久久久久超碰| 国产日本一区二区三区蜜臀在线观看| 按摩中文字幕| 日韩一级特黄av毛片| 99视频自拍区| 久久综合18p| 国产精品嫩草影院免费| 日本精品加勒比海一区| 国产suv精品一区二区四区999| 嫩草美女久久| 色哟哟精品1精品2| 人人喜人人妻| 永久免费发布性爱网| 男人综合网| 国精综合一二三区影视| 九九性爱网| 在线毛片片免费观看| 欧美日日人人天天| 久久不卡一区二区 | 96精品久久久| 91网亚洲| 亚洲啪啪性视频| 国产又黄又粗又猛大片| 日韩亚洲97| 国产视频一区二区在线| 久久久久九九九| 久久国产成人精品国产成人亚洲| 蜜臀th| 中文字幕乱碼在线| 日韩一级片在线看| 色哟哟AⅤ| 91女色| 91精品人妻啪啪间| 天美av在线观看| 大地资源在线观看中文第二页| 另类亚洲一区二区三区| 麻豆熟妇乱妇熟色A片在线看 | 视频国产精品未满十八禁止在线观看| 亚洲 在线| 久久久熟女一区| 亚洲精品骚逼| 一区二区久久天天干狠狠| 一区二区三区精品久久| 黄色大片免费在线| 白嫩少妇| 欧美日韩另类激情图片| 日韩人妻精品| 久久久久密臀一区二区| 欧美日韩国产传媒在线精品| 欧美十八禁在线看| 激情国产乱伦Av| 以及麻豆国产入口在线观看免费| 淫淫综合网| 蜜区区视频79 | 97网址97| 亚洲少妇在线影音| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 成人a大片在线观看| 操国产逼| av网站免费看| 97伊人| 亚洲丝袜二区在线| 国产免费一区| 麻豆精品三区视频| 麻豆成人av| 啊啊啊好舒服视频在线观看| 妇女视频网站| 亚州精品丝袜-不卡成人免费| 99热99re超碰精品| 九九九九九九九九九九九免费国产| 99热色精品| 婷婷色色五月天| 99综合| 亚洲婷婷五月天| 大香蕉手机视频| 丁香五月激情五月| 丝袜美腿诱惑亚洲欧美视频在线观看| 超碰免费人人| 日日狠狠久久偷偷色综合免费| 国产久久久久久久久一区二区| 国产美女高潮叫床视频| WWW黄片COM| 五月天综合网| 男人的天堂2010| 精品国产一区二区久久| 国产老熟女| 国模不卡一本二本三电影| 麻豆天美传媒在线视频天堂| 97色诱| 使劲用力艹少妇视频一区二区| 国产精品欧美激在线| 美女毛片999| 性九九九九九九| 欧美97免费| 国内伊人久久久久久网站视频| 久久色网| 青娱乐欧美激情一区二区| 99re公开精品免费视频| 国产色呦呦| 夜夜爽33333| 色盈盈影院| 在线小视频| 人人妻人人澡人人爽久久av| 国产精品美女视频诱惑| 性爱乱伦视频免费| 亚洲女毛多水多21P| 99这里有精品视频| 中文乱码99| 粉嫩av一区二区三区四季| 欧美草草高清日韩视频| 秋霞色色影院| 欧美日韩 强奸乱伦| 丁香激情五月天| 亚洲国成人情色好看电影| 亚洲drav色图| 少妇熟女一区二区三区| 伊人久久综合影院精品久久久| 亚洲国产成人精品久久久国产成人一区二区三. | 嗯啊不要在线| 裸模AV女优| 大香蕉2017| 内射夫妻三片| 韩国一级婬片A片AAAAA| 亚洲少妇诱惑| 人人操人人精品影片| 中文字幕丰满子伦无码专区在线视频最新 | 大香蕉丝袜一级片| 视频在线观看一二三区| 欧洲精品欧洲精品| dy888午夜老子影视达达兔| 亚洲 自拍偷拍 欧美| 丁香五月激情网| 综合av影片| 色99999| 高清国产av无码| 人人综合| 91欧美综合| 久久精品国产亚洲AV嘿嘿| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产高清无码一区三区二区| 丝袜美腿诱惑亚洲欧美视频在线观看| 亚拍在线| 极品综合| 人妻少妇视频在线播放| 免费国产| 国产精品点击进入在线影院| 少妇超碰在线| 加勒比av网| 成人免费看吃奶视频网站| 野狼激情网| 亚洲国产97在线精品一区| 国产理论视频在线播放| 人人澡综合涩| 热思思免费视频| 午夜精品久久久久久久男人的天堂 | 五月天成人综合| 人妻喷水| 人人爱人人操人人性| 97亚洲资源| 在线视频免费观看午夜| 天天爽爽爽爽| 91bbbbbb| 99色综合| 日本免费二区三区| 午夜精品久久久久久久99蜜桃一| 九九九九九九九九九九精品视频| 岛国1区2区3区在线观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 91骚妇| 26UUU欧美日本| 99热色这里只有精品| 加勒比中文av| 97精品国产97久久久久久| 九九九九九精品视频| 五月天成人综合| 欧色网址| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 五码视频在线观看| 国产盗摄美女如厕大神作品在线观看| 成人性爱免费播放| 秋霞男人网| 人人玩人人添人人澡免费| 午夜福利区| 国产熟女完整版中字| 九九九热精品| 亚洲av无线观看| 天天碰久久入| 色玖玖| 激情小说在线视频| 人妻日日夜夜精品| 国产二区三区免费视频| 精产国品一区二三产品| 操www| 美女网站黄页| 国产精品99久久久www| 亚洲欧洲日韩中文字幕一区| 天天欧美欧美亚洲网| 亚洲本色精品一区二区久久| 成人精品视频一区二区| 老司机天天操| 好爽要喷了| 玖玖综合.com| 伊人黄色片| 九九九只有精品| 操少妇很爽av| 超碰人人操97碰| 黑白配性爱AV成| 偷拍欧美激情| 久久毛卡| 2017天天拍大香蕉| 久久亚洲不卡一区二区三区| 3P乱轮视频| 亚洲欧美清纯| 欧美日韩婷婷中文| 黄网在线播放| 亚洲欧洲自拍图片专区满春格| 久色99999| 亚洲色图大香| 欧美日韩激情无码专区| 久久精品无码专区| 99亚洲人人| 91精品久久久久久77777| 欧美成年人性爱视频免费观看| 超碰免费欧美7| 性色一线| 婷婷中文网| 黄骗免费网站| 丰满欧美放荡少妇在线| 国产怡红院| 久久男女激情视频网站| 一级性爱视频免费观看| 激情内射| 99抽插| 欧美日韩91| 亚洲囯产精品女人久久久| 91性情| 嗯~啊~快点 死我视频免费看网站| 思思热在线| 看一级特黄a大一片| 99人妻| 久久亚洲一区女同性恋中文字幕| 人妻出轨一区二区三区| 极品白嫩美女白浆成人福利在线看| 可乐操亚洲蜜911| 国产一区二区三三视频| 日本熟妇自慰性高潮一区二区三区| 日韩99神马视频播放| 青青草玖玖爱| 欧美伊人电影| 日本人妻中文字幕精品| 精品一区二区综合熟妇| 神马久久久久久久久久久久| 国产成人主播| 色综合一本| 精品视频一区二区| 1204av韩国| 国产夫妻一区二区| 日本久久精品| 人妻乱仑一区二区三区| 亚洲欧美精品国产一区二区| 夜夜爽夜夜操| 亚洲玖玖爱| 亚洲人码13| 久久爱超碰网| 91久久午夜无码鲁丝片久久人妻| 亚洲无码99| 色婷婷五月综合激情中文字幕| 成人一级性爱| 久久久久久久九九九九九九| 9Ⅰ老熟女| 精品天堂| 97神马久久| 蜜桃视频一区二区三区| 91操人视频| 粉嫩av一区二区三区四季| 九月AV| 男人天堂.AB| 五月丁香婷婷啪啪| 亚洲色欲天天人妻无码系列专区| 顶级丝袜熟女一区二区三区 | 97爱亚洲综合色| 九九亚洲| 99热精品在线观看| 色香色欲天天综合网天天来吧| 亚洲91在线播放影院| 久久男人精品| 日本一级婬片试看三分钟| 九色精品视频导航1| 加勒比在线观看一区二区| 亚洲欧美日韩免费电影| 曰韩操B| 蜜乳AV一区| 国产一区二区精品久久99| 久久人人舔人人爽舔人人av片| 国产精品久久久久久久黄无码| 欧美性爱1080p| 久久欧美性爱视频| 99爱爱| 精品久久久九九九孕妇| 天天干天天日天天射黄色| 中文字幕视频2区|