亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

實例講解Java批量插入、更新數據

2019-11-26 15:02:38
字體:
來源:轉載
供稿:網友

Java的批量添加數據,多個字段同時添加多條數據,我不知道你遇到過沒有。今天我們就以一個具體的實例來說一下Java的批量添加數據,面向的是Oracle數據庫。

前臺頁面:

<span style="font-size:14px;"><body class="main_body" scroll="no"> <div class="employee_gun_dong">   <form name="webform" method="post">         <div class="main_content_bg">         <div class="main_content_title">             <div id="baseinfo" onclick="activeTabPanel(1)" style="margin-right:2px;" class="tab1">基本信息</div>             <div id="semsinfo" onclick="activeTabPanel(2)" style="margin-right:2px;" class="tab1" >頁簽1</div>             <div id="changeinfo" onclick="activeTabPanel(3)"style="margin-right:2px;" class="tab1" >頁簽2</div>             <div id="familyinfo" onclick="activeTabPanel(4)" style="margin-right:2px;" class="tab1" >頁簽3</div>             <div id="changeinfo" onclick="activeTabPanel(5)"style="margin-right:2px;" class="tab1" >頁簽4</div>             <div id="familyinfo" onclick="activeTabPanel(6)" style="margin-right:2px;" class="tab1" >頁簽5</div>             <div id="familyinfo" onclick="activeTabPanel(7)" style="margin-right:2px;" class="tab2" >頁簽6</div>         </div>       </div>              <div class="main_content_bg" id="bankCardDiv">         <div class="main_middle_bg">         <div class="main_content_title">信息展示            <input id="addBank" type="button" value="新增一行" class="modul_button_operate" onclick="addNewRow();" />         </div>                                 <div class="main_table_bg">             <table id="parttable" width='100%' border='0' cellspacing='1' cellpadding='0' class='content_table_list'>                  <tr>                   <th class='content_table_number'>序號</th>                   <th class='content_table_thnowarp'>屬性1</th>                   <th class='content_table_thnowarp'>屬性2</th>                   <th class='content_table_thnowarp'>屬性3</th>                   <th class='content_table_thnowarp'>屬性4</th>                   <th class='content_table_thnowarp'>屬性5</th>                   <th class='content_table_thnowarp'>屬性6</th>                   <th class='content_table_thnowarp'>屬性7</th>                   <th class='content_table_thnowarp'>屬性8</th>                   <th class='content_table_thnowarp'>屬性9</th>                   <th class='content_table_thnowarp'>操作</th>                 </tr>                 <c:if test="${fn:length(personFamilyInfoList) > 0}">                 <c:forEach items="${personFamilyInfoList}" var="personFamilyInfoList" varStatus="st">                                                 <tr>                   <!-- 序號 -->                   <td class="content_table_number">${st.count}                     <input type="hidden" name="personFamilyInfoList[${st.count-1}].SGuid" value="${personFamilyInfoList.SGuid}"/>                     <input type="hidden" name="personFamilyInfoList[${st.count-1}].SPersonGuid" value="${personFamilyInfoList.SPersonGuid}"/>                                        <input type="hidden" name="personFamilyInfoList[${st.count-1}].SUnitGuid" value="${personFamilyInfoList.SUnitGuid }">                     <input type="hidden" name="personFamilyInfoList[${st.count-1}].isEnable" value="${personFamilyInfoList.isEnable }">                   </td>                    <!-- 屬性1-->                   <td class="content_table_td_centernowrap">                     <input id="sFamilyName${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].SFamilyName" class="content_content_input" maxlength="20" value="${personFamilyInfoList.SFamilyName}">                   </td>                   <!-- 屬性2-->                   <td class="content_table_td_centernowrap">                     <input id="sFamilyIdcardNo${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].SFamilyIdcardNo" class="content_content_input" maxlength="20" value="${personFamilyInfoList.SFamilyIdcardNo}">                   </td>                   <!-- 屬性3-->                                     <td class="content_table_td_centernowrap">                     <select id="iFamilySex${st.count-1}" name="personFamilyInfoList[${st.count-1}].IFamilySex">                       <zw:basedictlist itemCode="<%=Constants.I_PERSON_SEX %>" selectValue="${personFamilyInfoList.IFamilySex}"></zw:basedictlist>                     </select><font color="red">*</font>                   </td>                   <!-- 屬性4-->                   <td class="content_table_td_centernowrap">                     <select id="sFamilyRelation${st.count-1}" name="personFamilyInfoList[${st.count-1}].SFamilyRelation">                       <zw:basedictlist itemCode="<%=Constants.S_FAMILY_RELATION %>" selectValue="${personFamilyInfoList.SFamilyRelation}"></zw:basedictlist>                     </select><font color="red">*</font>                   </td>                   <!-- 屬性5-->                       <td class="content_table_td_centernowrap">                     <input id="sFamilyInsurancePlace${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].SFamilyInsurancePlace" class="content_content_input" maxlength="20" value="${personFamilyInfoList.SFamilyInsurancePlace}">                     </td>                   <!-- 屬性6-->                   <td class='content_table_td_centernowrap'>                     <input id="sFamilyResidencePalce${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].SFamilyResidencePalce" class="content_content_input" maxlength="20" value="${personFamilyInfoList.SFamilyResidencePalce}">                   </td>                   <!-- 屬性7-->                   <td class="content_table_td_centernowrap">                     <input id="sFamilyPhone${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].SFamilyPhone" class="content_content_input" maxlength="20" value="${personFamilyInfoList.SFamilyPhone}">                   </td>                   <!-- 屬性8-->                   <td class="content_table_td_centernowrap">                     <input id="dDentifySucessDate${st.count-1}" type="text" name="personFamilyInfoList[${st.count-1}].DDentifySucessDate" value="${personFamilyInfoList.DDentifySucessDate}" onfocus="WdatePicker()" notnull="true" vdisp="首次參保時間" class="content_content_input" size="18" maxlength="18" style="width:70px;"/>                     <font color="red">*</font>                   </td>                   <!-- 屬性9-->                   <td class="content_table_td_centernowrap">                     <input id="dDentifyLostDate${st.count-1}" type="text" name="personFamilyInfoList[${st.count - 1}].DDentifyLostDate" value="${personFamilyInfoList.DDentifyLostDate}" onfocus="WdatePicker()" notnull="true" vdisp="首次參保時間" class="content_content_input" size="18" maxlength="18" style="width:70px;"/>                   </td>                   <td class='content_table_td_centernowrap'>取消</td>                   </tr>                                  </c:forEach>                 </c:if>                                                     </table>           </div>                   </div>       </div>       <div class="main_content_bg">       <div class="main_content_title">         <table style="width:100%">           <tr>             <td width="100%" align="center">               <input id="btnNextstep" type="button" value="上一步" class="modul_button_operate" onclick="" />               <input id="btnAdd" type="button" value="保存" class="modul_button_operate" onclick="saveOrUpdate()" />               <input id="" type="button" value="完成" class="modul_button_operate" onclick="" />               <input id="btnReturn" type="button" value="返回" class="modul_button_operate" onclick="" />             </td>                      </tr>         </table>       </div>      </div>   </form>   </div> </body></span> 

javascript函數:

<span style="font-family:KaiTi_GB2312;font-size:14px;"><script type="text/javascript">   $(function(){     loadCheck();   });    function loadCheck(){     var trs = $('#parttable tr').length;     if(trs == 1){     addNewRow();     }   }    //初始變量   var num = 0;//頁面計數變量   var row = 1;//行增加計數變量   var index = 2;//List列表計數變量   function addNewRow(){     var trNum = $('#parttable tr').length;     if(trNum>1){       row = trNum;       num = trNum - 1;     }     var htmlText ='<tr>'       +'<td class="content_table_number">'+row+'</td>'        +'<td class="content_table_td_centernowrap">'       +'<input id="sFamilyName'+num+'" type="text" name="personFamilyInfoList['+num+'].SFamilyName" class="content_content_input" maxlength="20"></td>'         +'<td class="content_table_td_centernowrap">'       +'<input id="sFamilyIdcardNo'+num+'" type="text" name="personFamilyInfoList['+num+'].SFamilyIdcardNo" class="content_content_input" maxlength="20"></td>'                      +'<td class="content_table_td_centernowrap">'       +'<select id="iFamilySex'+num+'" name="personFamilyInfoList['+num+'].IFamilySex">'       +'<zw:basedictlist itemCode="2000" selectValue="personFamilyInfoList['+num+'].IFamilySex"></zw:basedictlist>'       +'</select><font color="red">*</font></td>'        +'<td class="content_table_td_centernowrap">'       +'<select id="sFamilyRelation'+num+'" name="personFamilyInfoList['+num+'].SFamilyRelation">'       +'<zw:basedictlist itemCode="135" selectValue="personFamilyInfoList['+num+'].SFamilyRelation"></zw:basedictlist>'       +'</select><font color="red">*</font></td>'          +'<td class="content_table_td_centernowrap">'       +'<input id="sFamilyInsurancePlace'+num+'" type="text" name="personFamilyInfoList['+num+'].SFamilyInsurancePlace" class="content_content_input" maxlength="20"></td>'              +'<td class="content_table_td_centernowrap">'       +'<input id="sFamilyResidencePalce'+num+'" type="text" name="personFamilyInfoList['+num+'].SFamilyResidencePalce" class="content_content_input" maxlength="20"></td>'        +'<td class="content_table_td_centernowrap">'       +'<input id="sFamilyPhone'+num+'" type="text" name="personFamilyInfoList['+num+'].SFamilyPhone" class="content_content_input" maxlength="20"></td>'              +'<td class="content_table_td_centernowrap">'       +'<input id="dDentifySucessDate'+num+'" type="text" name="personFamilyInfoList['+num+'].DDentifySucessDate" onfocus="WdatePicker()" notnull="true" vdisp="首次參保時間" class="content_content_input" size="18" maxlength="18" style="width:70px;"/><font color="red">*</font></td>'        +'<td class="content_table_td_centernowrap">'       +'<input id="dDentifyLostDate'+num+'" type="text" name="personFamilyInfoList['+num+'].DDentifyLostDate" onfocus="WdatePicker()" notnull="true" vdisp="首次參保時間" class="content_content_input" size="18" maxlength="18" style="width:70px;"/></td>'                  +'<td class="content_table_td_centernowrap">'            +'<a onclick="delInsuranceInfo(this);">取消</a>'       +'</td>'       +'</tr>';     $("#parttable").append(htmlText);     num = num + 1;     row += 1;   }    //刪除動態列表   function delInsuranceInfo(t){     if(row>0){row=row-1} else{return false;}     $(t).parent().parent().remove();   }    //保存或修改   function saveOrUpdate(){     $.ajax({       url: "personFamilyInfo_addOrUpdatePersonFamilyInfo_include_json.action",       type: "POST",       data: jQuery(document.forms[0]).serializeArray(),       success: function(resObj) {         //判斷返回值         if (resObj.trim() == 'true') {           Ext.MessageBox.alert("提示","保存成功",function(){                        });                                        }else if(resObj.trim() == 'update'){           Ext.MessageBox.alert("提示","更新成功",function(){            });         } else {           Ext.MessageBox.alert("提示","保存失敗");         }       }     });   }      </span> <span style="font-family:KaiTi_GB2312;font-size:14px;"></script></span> 

后臺添加方法:

<span style="font-family:KaiTi_GB2312;font-size:14px;">/**    * <p>Description: 批量添加多條信息</p>    * @param personFamilyInfoList 實體列表    * @return 布爾值,true為添加成功,否則為添加失敗    * @throws Exception    * @author    : gaoying    * @update    :    * @date     : 2015-7-20    */   public boolean addPersonFamilyInfo(List<PersonFamilyInfo> personFamilyInfoList) throws Exception{     boolean bool = false;     if(personFamilyInfoList.size()>0 && personFamilyInfoList != null){       for(int i=0; i<personFamilyInfoList.size(); i++){         String personFamilyID = UUIDHexGenerator.getUUID();         String sunitGuid = "11111111";         String spersonGuid = "0000000";         if(personFamilyInfoList.get(i) != null){           personFamilyInfoList.get(i).setSGuid(personFamilyID);             personFamilyInfoList.get(i).setSUnitGuid(sunitGuid);           personFamilyInfoList.get(i).setSPersonGuid(spersonGuid);             personFamilyInfoList.get(i).setIsEnable(0);           personFamilyInfoList.get(i).setDOperateDate(new Date());           //設置系統的當前時間為生效時間,失效時間置為空           personFamilyInfoList.get(i).setDDentifySucessDate(new Date());           personFamilyInfoList.get(i).setDDentifyLostDate(null);                try {             String sGuidString = personFamilyInfoService.saveNeedPk(personFamilyInfoList.get(i)).toString();             if(!"".equals(sGuidString)&&sGuidString.length()>0){               bool = true;             }else{               System.out.println("供養親屬信息表 第"+i+"條信息存儲失敗!");               bool = false;               return bool;             }            } catch (Exception e) {             e.printStackTrace();           }         }       }            }     return bool;       }</span> 

后臺更新方法:

<span style="font-family:KaiTi_GB2312;font-size:14px;">/**    * <p>Description: 批量更新信息</p>    * @param personFamilyInfolist 實體列表    * @param personId 人員id    * @return 布爾值,true代表更新成功,否則更新失敗    * @throws Exception    * @author    : gaoying    * @update    :    * @date     : 2015-7-20    */   public void updatePersonFamilyInfo(List<PersonFamilyInfo> personFamilyInfolist, String personId) throws Exception{     //根據人員id查詢頁面有多少條數據     List<PersonFamilyInfo> oldPersonFamilyInfolist = personFamilyInfoService.getPersonFamilyInfoByPersonId(personId);     int num = oldPersonFamilyInfolist.size();     if(personFamilyInfolist != null&&personFamilyInfolist.size() > 0){       //檢查頁面的信息是否有修改,然后更新到數據庫       for(int i = 0; i<num; i++){         try{           //設置一個布爾值,如果變動字段設置為false,如果不變動則設置為true           boolean bool = true;           //判斷哪些字段更改過           if(!oldPersonFamilyInfolist.get(i).getSFamilyName().equals(personFamilyInfolist.get(i).getSFamilyName())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getSFamilyIdcardNo().equals(personFamilyInfolist.get(i).getSFamilyIdcardNo())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getIFamilySex().equals(personFamilyInfolist.get(i).getIFamilySex())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getSFamilyRelation().equals(personFamilyInfolist.get(i).getSFamilyRelation())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getSFamilyInsurancePlace().equals(personFamilyInfolist.get(i).getSFamilyInsurancePlace())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getSFamilyResidencePalce().equals(personFamilyInfolist.get(i).getSFamilyResidencePalce())){             bool = false;           }           if(!oldPersonFamilyInfolist.get(i).getSFamilyPhone().equals(personFamilyInfolist.get(i).getSFamilyPhone())){             bool = false;           }           System.out.println("未更改前時間:"+oldPersonFamilyInfolist.get(i).getDDentifySucessDate().getTime());           System.out.println("更改后的時間:"+personFamilyInfolist.get(i).getDDentifySucessDate().getTime());           if(oldPersonFamilyInfolist.get(i).getDDentifySucessDate().getTime() != personFamilyInfolist.get(i).getDDentifySucessDate().getTime()){             bool = false;           }                      if(bool == false){//證明字段更改過             //更新數據前,要把原來沒改動的數據復制一條,添加進數據庫,把系統的當前時間設為該條數據的失效時間                     PersonFamilyInfo personFamilyInfo = new PersonFamilyInfo();                          BeanUtils.copyProperties(oldPersonFamilyInfolist.get(i), personFamilyInfo);             System.out.println("該條數據主鍵:" + personFamilyInfo.getSGuid());             personFamilyInfo.setSGuid(UUIDHexGenerator.getUUID());             System.out.println("設置主鍵:" + personFamilyInfo.getSGuid());             personFamilyInfo.setDOperateDate(new Date());             //將當前保存數據庫的是否有效置為1:無效             personFamilyInfo.setIsEnable(1);             personFamilyInfo.setDDentifyLostDate(new Date());                                      personFamilyInfoService.save(personFamilyInfo);                          //更新該條數據,把系統的當前時間設為系統的生效時間和操作時間,是否有效設為0:有效,失效時間為空             personFamilyInfolist.get(i).setIsEnable(0);               personFamilyInfolist.get(i).setDDentifySucessDate(new Date());             personFamilyInfolist.get(i).setDOperateDate(new Date());             personFamilyInfolist.get(i).setDDentifyLostDate(null);             personFamilyInfoService.merge(personFamilyInfolist.get(i));           }                                     }catch (Exception e) {           e.printStackTrace();         }                       }     }</span>  

這樣,java多字段、多條數據批量添加的例子就完成了,主要要注意前臺頁面疊加出現多行的js函數和后臺的添加和更新方法,用list接收,循環遍歷進行添加。除此之外這里我想說一下下面這段代碼:

復制代碼 代碼如下:
<span style="font-family:KaiTi_GB2312;font-size:14px;">$(function(){ 
    loadCheck(); 
});</span>  
  

它就是如下代碼的縮寫:

復制代碼 代碼如下:
<span style="font-family:KaiTi_GB2312;font-size:14px;"> $(document).ready(function(){ 
        loadCheck(); 
});</span> 

其實這個代碼和下面的代碼是一個意思:

復制代碼 代碼如下:
<span style="font-family:KaiTi_GB2312;font-size:14px;">window.onload=function(){ 
       loadCheck(); 
}</span>
   

這樣就不用在body的onload事件里面調用,只需要在js程序段里面編寫就可以了。雖然下面的代碼可以和上面兩個互換,但他們之間又有不同。首先是執行時間不同,$(document).ready在頁面框架下載完畢后就執行,而window.onload必須在頁面全部加載完畢(包含圖片下載)后才能執行。很明顯前者的執行效率高于后者。再就是執行數量的不同,$(document).ready可以重復寫多個,而且每次執行結果不同;而window.onload盡管可以執行多個,但僅輸出最后一個執行結果,無法完成多個結果的輸出。

以上就是本文的全部內容,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧美日韩综合| 91精品久久久久久久久中文字幕| www.久久色.com| 欧美精品在线观看91| 精品视频在线导航| 欧美精品成人91久久久久久久| 亚洲精品视频网上网址在线观看| 欧美色欧美亚洲高清在线视频| 亚洲午夜激情免费视频| 一区二区日韩精品| 欧美影院在线播放| 亚洲第五色综合网| 国产精品96久久久久久又黄又硬| 色婷婷av一区二区三区久久| 中文字幕精品在线视频| 国产精品扒开腿做爽爽爽的视频| 午夜精品久久久99热福利| 欧美日韩国产色| 亚洲激情自拍图| 欧美日韩国产综合视频在线观看中文| 俺也去精品视频在线观看| 一区二区三区国产视频| 在线视频欧美性高潮| 中文字幕国产亚洲| 91沈先生作品| 国产精品99一区| 久久国产精品亚洲| 国产欧美欧洲在线观看| 在线国产精品视频| 欧美日韩激情视频| 九九久久久久久久久激情| 91青草视频久久| 久久久久久久久久久免费| 亚洲免费伊人电影在线观看av| 国产精品福利网| 国产精品久久久久久久久久尿| 亚洲人成77777在线观看网| 91极品女神在线| 成人国产精品av| 久久免费视频网站| 欧美性资源免费| 日韩一二三在线视频播| 国产成人极品视频| 在线观看中文字幕亚洲| 成人羞羞国产免费| 日韩av在线导航| 国产成一区二区| 懂色aⅴ精品一区二区三区蜜月| 日本人成精品视频在线| 国产精品成人一区二区| 国产精品av在线播放| 亚洲午夜久久久久久久| 正在播放国产一区| 日韩欧美亚洲国产一区| 国产精品你懂得| 亚洲国产美女精品久久久久∴| 欧美精品久久久久a| 成人在线视频福利| 日本高清不卡在线| 国产精品欧美激情在线播放| 欧美黄色www| 日韩精品欧美激情| 欲色天天网综合久久| 国产精品6699| 高潮白浆女日韩av免费看| 中文字幕不卡在线视频极品| 欧美视频免费在线| 精品精品国产国产自在线| 国产精品欧美在线| 欧美色欧美亚洲高清在线视频| 亚洲国产精品久久久久秋霞蜜臀| 精品国产网站地址| 欧美在线观看网站| 欧美大片网站在线观看| 91高潮精品免费porn| 三级精品视频久久久久| 国产91精品视频在线观看| 一区二区欧美在线| 日本精品免费一区二区三区| 久久精品在线视频| 亚洲欧美国产另类| 国产精品美女久久| 欧美性猛交xxxx乱大交蜜桃| 另类少妇人与禽zozz0性伦| 麻豆一区二区在线观看| xvideos国产精品| 精品欧美aⅴ在线网站| 国产精品扒开腿做爽爽爽视频| 96国产粉嫩美女| 久久久久久久国产精品| 国产精品欧美一区二区| 成人激情免费在线| 久久色在线播放| 三级精品视频久久久久| 久久频这里精品99香蕉| 日韩电影大全免费观看2023年上| 亚洲最新av在线网站| 亚洲成人黄色在线| 中文字幕精品www乱入免费视频| 97免费在线视频| 亚州成人av在线| 欧美午夜久久久| 亚洲自拍偷拍色图| 欧美日韩不卡合集视频| 奇门遁甲1982国语版免费观看高清| 亚洲精品丝袜日韩| 亚洲精品久久久久中文字幕二区| 中文字幕不卡av| 亚洲xxx自由成熟| 欧美国产日韩一区二区三区| 国产精品自拍网| 欧美成人精品一区二区三区| 亚洲色图综合网| 日韩成人中文字幕在线观看| 国产69精品久久久| 欧美成人精品h版在线观看| 一本色道久久综合狠狠躁篇的优点| 中文字幕少妇一区二区三区| 91国语精品自产拍在线观看性色| 欧美性jizz18性欧美| 久久精品久久久久久| 亚洲精品视频网上网址在线观看| 欧美大胆a视频| 丰满岳妇乱一区二区三区| 午夜免费在线观看精品视频| 亚洲а∨天堂久久精品喷水| 欧美日韩精品在线| 中文字幕无线精品亚洲乱码一区| 国产婷婷97碰碰久久人人蜜臀| 国产综合久久久久| 国内精品小视频在线观看| 国产女人18毛片水18精品| 91九色在线视频| 日韩国产欧美精品在线| 国产精品美女999| 神马久久久久久| 九九热99久久久国产盗摄| 欧美日韩国产激情| 国产裸体写真av一区二区| 亚洲四色影视在线观看| 中文字幕久久久| 欧美精品一区二区免费| 97在线看福利| 成人97在线观看视频| 久久香蕉频线观| 久久久久免费精品国产| 日韩免费观看网站| 国产精品久久久久久久久男| 国产日韩欧美黄色| 国产精品私拍pans大尺度在线| 亚洲精品电影网站| 久久久精品国产一区二区| 日韩在线观看免费高清| 色无极亚洲影院| 国产精品爽黄69| 欧美国产日韩一区二区在线观看| 欧美在线视频一区二区| 久久久电影免费观看完整版| 538国产精品一区二区免费视频| 日韩精品免费视频| 亚洲精品中文字幕女同| 成人性教育视频在线观看| 永久免费毛片在线播放不卡| 精品国产鲁一鲁一区二区张丽|