最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年07月31日 08:36:07   作者:奔跑吧呂子  
這片文章介紹了一個Java批量添加數(shù)據(jù),多個字段同時添加多條數(shù)據(jù)具體實(shí)例,面向的是Oracle數(shù)據(jù)庫,需要的朋友可以參考下

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

前臺頁面:

<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函數(shù):

<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;//頁面計數(shù)變量 
  var row = 1;//行增加計數(shù)變量 
  var index = 2;//List列表計數(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="首次參保時間" 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; 
  } 
 
  //刪除動態(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> 

后臺添加方法:

<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)前時間為生效時間,失效時間置為空 
          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+"條信息存儲失??!"); 
              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 實(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查詢頁面有多少條數(shù)據(jù) 
    List<PersonFamilyInfo> oldPersonFamilyInfolist = personFamilyInfoService.getPersonFamilyInfoByPersonId(personId); 
    int num = oldPersonFamilyInfolist.size(); 
    if(personFamilyInfolist != null&&personFamilyInfolist.size() > 0){ 
      //檢查頁面的信息是否有修改,然后更新到數(shù)據(jù)庫 
      for(int i = 0; i<num; i++){ 
        try{ 
          //設(shè)置一個布爾值,如果變動字段設(shè)置為false,如果不變動則設(shè)置為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){//證明字段更改過 
            //更新數(shù)據(jù)前,要把原來沒改動的數(shù)據(jù)復(fù)制一條,添加進(jìn)數(shù)據(jù)庫,把系統(tǒng)的當(dāng)前時間設(shè)為該條數(shù)據(jù)的失效時間         
            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ù)庫的是否有效置為1:無效 
            personFamilyInfo.setIsEnable(1); 
            personFamilyInfo.setDDentifyLostDate(new Date());             
             
            personFamilyInfoService.save(personFamilyInfo); 
             
            //更新該條數(shù)據(jù),把系統(tǒng)的當(dāng)前時間設(shè)為系統(tǒng)的生效時間和操作時間,是否有效設(shè)為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多字段、多條數(shù)據(jù)批量添加的例子就完成了,主要要注意前臺頁面疊加出現(xiàn)多行的js函數(shù)和后臺的添加和更新方法,用list接收,循環(huán)遍歷進(jìn)行添加。除此之外這里我想說一下下面這段代碼:

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

它就是如下代碼的縮寫:

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

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

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

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

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

相關(guān)文章

  • Java受檢異常的一些思考

    Java受檢異常的一些思考

    受檢異常是否真的有必要?這是一個爭論了很久的問題,至今仍然沒有一個確定的答案。Java的受檢異常,被很多人吐槽,也被很多人喜愛,當(dāng)然他們都可以拿出很多的理由來證明自己的觀點(diǎn)。
    2020-12-12
  • Spring和Spring?Boot的區(qū)別及說明

    Spring和Spring?Boot的區(qū)別及說明

    這篇文章主要介紹了Spring和Spring?Boot的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • java批量修改文件名的實(shí)現(xiàn)方法

    java批量修改文件名的實(shí)現(xiàn)方法

    這篇文章主要介紹了 java批量修改文件名的實(shí)現(xiàn)方法的相關(guān)資料,實(shí)現(xiàn)批量修改文件下的所有文件的文件名,具有一定的參考價值,需要的朋友可以參考下
    2017-07-07
  • 詳解如何在SpringBoot里使用SwaggerUI

    詳解如何在SpringBoot里使用SwaggerUI

    本篇文章主要介紹了詳解如何在SpringBoot里使用SwaggerUI,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • 簡單了解Spring Framework5.0新特性

    簡單了解Spring Framework5.0新特性

    這篇文章主要介紹了簡單了解Spring Framework5.0新特性,涉及了核心框架修訂,核心容器更新,使用Kotlin進(jìn)行函數(shù)式編程等幾個方面的介紹,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • JAVA中JVM的重排序詳細(xì)介紹

    JAVA中JVM的重排序詳細(xì)介紹

    重排序通常是編譯器或運(yùn)行時環(huán)境為了優(yōu)化程序性能而采取的對指令進(jìn)行重新排序執(zhí)行的一種手段。重排序分為兩類:編譯期重排序和運(yùn)行期重排序,分別對應(yīng)編譯時和運(yùn)行時環(huán)境
    2014-05-05
  • IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    這篇文章主要介紹了IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新),小編測試這種激活工具也適用idea2022以下所有版本,本篇教程整理的比較詳細(xì),匯總了idea各個版本的激活工具,激活方法多種多樣,大家選擇一種即可,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • Java中redisTemplate注入失敗NullPointerException異常問題解決

    Java中redisTemplate注入失敗NullPointerException異常問題解決

    這篇文章主要介紹了Java中redisTemplate注入失敗NullPointerException異常問題解決,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2023-08-08
  • 使用注解+RequestBodyAdvice實(shí)現(xiàn)http請求內(nèi)容加解密方式

    使用注解+RequestBodyAdvice實(shí)現(xiàn)http請求內(nèi)容加解密方式

    這篇文章主要介紹了使用注解+RequestBodyAdvice實(shí)現(xiàn)http請求內(nèi)容加解密方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java中的BlockingQueue(阻塞隊列)解析

    java中的BlockingQueue(阻塞隊列)解析

    這篇文章主要介紹了java中的BlockingQueue阻塞隊列解析,阻塞隊列是一個支持兩個附加操作的隊列,這兩個附加的操作是,在隊列為空時,獲取元素的線程會等待隊列變?yōu)榉强?需要的朋友可以參考下
    2023-12-12

最新評論

安徽省| 茂名市| 龙泉市| 边坝县| 枣阳市| 渭源县| 寿宁县| 雅安市| 南漳县| 明光市| 漳平市| 新源县| 高青县| 江陵县| 定日县| 孟村| 乌海市| 自贡市| 体育| 卢湾区| 潮安县| 米林县| 清原| 崇文区| 桦川县| 长泰县| 宜阳县| 正安县| 聂拉木县| 蓝山县| 惠州市| 宁津县| 洪泽县| 望都县| 千阳县| 贡山| 田林县| 潜山县| 呼和浩特市| 赤城县| 攀枝花市|