国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

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

服務器之家 - 編程語言 - JAVA教程 - 實例講解Java批量插入、更新數據

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

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

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

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

前臺頁面:

?
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" >頁簽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函數:

?
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;//頁面計數變量
  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>

后臺添加方法:

?
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 實體列表
   * @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>

后臺更新方法:

?
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 實體列表
   * @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盡管可以執行多個,但僅輸出最后一個執行結果,無法完成多個結果的輸出。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色高清网站 | 99久久婷婷国产精品综合 | 一区二区三区影视 | 久久久久久久久久久免费视频 | 欧洲精品在线视频 | 水卜樱一区二区av | 成人免费黄色片 | 日本久久久久久 | 精品在线一区二区三区 | 成人午夜精品一区二区三区 | 国产精品无码久久久久 | 成人免费毛片嘿嘿连载视频 | 久久久久久99 | 久久久免费精品视频 | 亚洲一区在线免费观看 | 日本久久网| 亚洲无线观看 | 久久狠狠 | 在线a视频 | 亚洲综合区 | 日韩有码av | 欧美精品v国产精品v日韩精品 | www.色.com| 免费一级网站 | 欧美free性丝袜xxxxhd | 免费观看视频毛片 | 精品国产一区二区在线 | 精品在线播放 | 久久高清片 | 亚洲视频在线观看 | 免费在线观看毛片 | 99久久亚洲一区二区三区青草 | 四虎永久在线观看 | 国产亚洲网站 | 凹凸国产成人精品视频免费 | www.五月婷| av在线网址观看 | 国产成人精品一区二区三区四区 | 国产激情久久久久久 | 操操爱| 国产欧美在线播放 |