一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 實(shí)例講解Java批量插入、更新數(shù)據(jù)

實(shí)例講解Java批量插入、更新數(shù)據(jù)

2019-12-31 14:21奔跑吧呂子 JAVA教程

這片文章介紹了一個(gè)Java批量添加數(shù)據(jù),多個(gè)字段同時(shí)添加多條數(shù)據(jù)具體實(shí)例,面向的是Oracle數(shù)據(jù)庫(kù),需要的朋友可以參考下

Java的批量添加數(shù)據(jù),多個(gè)字段同時(shí)添加多條數(shù)據(jù),我不知道你遇到過(guò)沒(méi)有。今天我們就以一個(gè)具體的實(shí)例來(lái)說(shuō)一下Java的批量添加數(shù)據(jù),面向的是Oracle數(shù)據(jù)庫(kù)。

前臺(tái)頁(yè)面:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<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" >頁(yè)簽1</div>
            <div id="changeinfo" onclick="activeTabPanel(3)"style="margin-right:2px;" class="tab1" >頁(yè)簽2</div>
            <div id="familyinfo" onclick="activeTabPanel(4)" style="margin-right:2px;" class="tab1" >頁(yè)簽3</div>
            <div id="changeinfo" onclick="activeTabPanel(5)"style="margin-right:2px;" class="tab1" >頁(yè)簽4</div>
            <div id="familyinfo" onclick="activeTabPanel(6)" style="margin-right:2px;" class="tab1" >頁(yè)簽5</div>
            <div id="familyinfo" onclick="activeTabPanel(7)" style="margin-right:2px;" class="tab2" >頁(yè)簽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'>序號(hào)</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>
                  <!-- 序號(hào) -->
                  <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="首次參保時(shí)間" 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="首次參保時(shí)間" 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函數(shù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
<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;//頁(yè)面計(jì)數(shù)變量
  var row = 1;//行增加計(jì)數(shù)變量
  var index = 2;//List列表計(jì)數(shù)變量
  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="首次參保時(shí)間" 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="首次參保時(shí)間" 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;
  }
 
  //刪除動(dòng)態(tài)列表
  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>

后臺(tái)添加方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<span style="font-family:KaiTi_GB2312;font-size:14px;">/**
   * <p>Description: 批量添加多條信息</p>
   * @param personFamilyInfoList 實(shí)體列表
   * @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());
          //設(shè)置系統(tǒng)的當(dāng)前時(shí)間為生效時(shí)間,失效時(shí)間置為空
          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("供養(yǎng)親屬信息表 第"+i+"條信息存儲(chǔ)失敗!");
              bool = false;
              return bool;
            }
 
          } catch (Exception e) {
            e.printStackTrace();
          }
        }
      }
       
    }
    return bool;    
  }</span>

后臺(tái)更新方法:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<span style="font-family:KaiTi_GB2312;font-size:14px;">/**
   * <p>Description: 批量更新信息</p>
   * @param personFamilyInfolist 實(shí)體列表
   * @param personId 人員id
   * @return 布爾值,true代表更新成功,否則更新失敗
   * @throws Exception
   * @author    : gaoying
   * @update    :
   * @date     : 2015-7-20
   */
  public void updatePersonFamilyInfo(List<PersonFamilyInfo> personFamilyInfolist, String personId) throws Exception{
    //根據(jù)人員id查詢頁(yè)面有多少條數(shù)據(jù)
    List<PersonFamilyInfo> oldPersonFamilyInfolist = personFamilyInfoService.getPersonFamilyInfoByPersonId(personId);
    int num = oldPersonFamilyInfolist.size();
    if(personFamilyInfolist != null&&personFamilyInfolist.size() > 0){
      //檢查頁(yè)面的信息是否有修改,然后更新到數(shù)據(jù)庫(kù)
      for(int i = 0; i<num; i++){
        try{
          //設(shè)置一個(gè)布爾值,如果變動(dòng)字段設(shè)置為false,如果不變動(dòng)則設(shè)置為true
          boolean bool = true;
          //判斷哪些字段更改過(guò)
          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("未更改前時(shí)間:"+oldPersonFamilyInfolist.get(i).getDDentifySucessDate().getTime());
          System.out.println("更改后的時(shí)間:"+personFamilyInfolist.get(i).getDDentifySucessDate().getTime());
          if(oldPersonFamilyInfolist.get(i).getDDentifySucessDate().getTime() != personFamilyInfolist.get(i).getDDentifySucessDate().getTime()){
            bool = false;
          }
           
          if(bool == false){//證明字段更改過(guò)
            //更新數(shù)據(jù)前,要把原來(lái)沒(méi)改動(dòng)的數(shù)據(jù)復(fù)制一條,添加進(jìn)數(shù)據(jù)庫(kù),把系統(tǒng)的當(dāng)前時(shí)間設(shè)為該條數(shù)據(jù)的失效時(shí)間        
            PersonFamilyInfo personFamilyInfo = new PersonFamilyInfo();
             
            BeanUtils.copyProperties(oldPersonFamilyInfolist.get(i), personFamilyInfo);
            System.out.println("該條數(shù)據(jù)主鍵:" + personFamilyInfo.getSGuid());
            personFamilyInfo.setSGuid(UUIDHexGenerator.getUUID());
            System.out.println("設(shè)置主鍵:" + personFamilyInfo.getSGuid());
            personFamilyInfo.setDOperateDate(new Date());
            //將當(dāng)前保存數(shù)據(jù)庫(kù)的是否有效置為1:無(wú)效
            personFamilyInfo.setIsEnable(1);
            personFamilyInfo.setDDentifyLostDate(new Date());            
             
            personFamilyInfoService.save(personFamilyInfo);
             
            //更新該條數(shù)據(jù),把系統(tǒng)的當(dāng)前時(shí)間設(shè)為系統(tǒng)的生效時(shí)間和操作時(shí)間,是否有效設(shè)為0:有效,失效時(shí)間為空
            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多字段、多條數(shù)據(jù)批量添加的例子就完成了,主要要注意前臺(tái)頁(yè)面疊加出現(xiàn)多行的js函數(shù)和后臺(tái)的添加和更新方法,用list接收,循環(huán)遍歷進(jìn)行添加。除此之外這里我想說(shuō)一下下面這段代碼:

 

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

 

它就是如下代碼的縮寫(xiě):

 

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

 

其實(shí)這個(gè)代碼和下面的代碼是一個(gè)意思:

 

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

 

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久久精品国产免费A片胖妇女 | 91免费播放人人爽人人快乐 | 污污的动态图合集 | 97热在线 | 无码乱人伦一区二区亚洲一 | 校花被强迫np肉高h 校服下的白嫩小乳尖h1v1 | 欧美xxx000喷水 | 国产成人激情视频 | 日韩在线成人 | 丝瓜视频黄色在线观看 | 国产精品免费aⅴ片在线观看 | 亚州第一页 | 日韩先锋| 欧美日韩亚洲综合在线一区二区 | 亚洲网站在线 | 色婷婷天天综合在线 | 欧美日韩国产亚洲人成 | 亚洲AV无码一区二区三区乱子伦 | 成人高辣h视频一区二区在线观看 | 办公室恋情在线 | 国产欧美精品一区二区三区–老狼 | 好男人影视社区www在线观看 | 四虎成人影院 | 性姿势女人嗷嗷叫图片 | 国产精品免费精品自在线观看 | 亚洲国产婷婷俺也色综合 | 午夜精品久久久久久久2023 | 久久热国产在线视频 | 青青久在线视频免费观看 | 国产精品成人扳一级aa毛片 | 国产久热香蕉在线观看 | 欧美综合国产精品日韩一 | 国产精品66福利在线观看 | 91短视频在线观看2019 | 9999网站| 日本噜噜影院 | 欧美怡红院视频一区二区三区 | 国产特级毛片aaaaaa | 香蕉精品高清在线观看视频 | 九九99热久久999精品 | 操人网|