1. 程式人生 > >mabits批量insert、update、select

mabits批量insert、update、select

一、批量查詢

①單條件批量查詢

dao 層

public List<String>bindingDriver_update_select(List<BindingDriver> list);

xml檔案

<select id="bindingDriver_update_select"  resultType="java.lang.String">      


             SELECT z_driver.username FROM z_binding

INNER JOIN z_driver ON z_driver.ucardid = z_binding.ucardid  
where  z_binding.ucardid in
   <foreach collection="list" index="index" item="item" open="(" separator="," close=")">
    
   #{item.ucardid}  
   </foreach>      
</select>

②多條件批量查詢

dao 層

public List<String>bindingDriver_update_select(List<BindingDriver> list);

xml檔案


<select id="bindingDriver_update_select"  resultType="java.lang.String">      

   <foreach collection="list" index="index" item="item" open=""  close="" separator=";">
    SELECT z_driver.username FROM z_binding INNER JOIN z_driver ON z_driver.ucardid = z_binding.ucardid  
where  z_binding.ucardid = #{item.ucardid}   and z_binding.fiapper_num !=#{item.fiapper_num}    
   </foreach>      
</select>
 

注意:單條件和多條件查詢,foreach標籤的open、close、separator屬性不同,單條件separator是逗號“,”,多條件時separator是分號“;”


二、批量修改
①單條件修改

dao層

public void administrative_unit_update(List<TranspotyCar> list);

xml檔案

<update id="administrative_unit_update" parameterType="java.util.List"> 

       update z_transpotycar 

                      set      administrative_unit=#{item.administrative_unit}

                           where fiapper_num in 
  <foreach collection ="list" item="item" index= "index"  open="(" separator="," close=")">
     
     #{item.fiapper_num}        
           </foreach>
</update>


②多條件修改

dao層

public void administrative_unit_update(List<TranspotyCar> list);

xml檔案

<update id="administrative_unit_update" parameterType="java.util.List"> 
    <foreach collection ="list" item="item" index= "index"  separator =";">
     update z_transpotycar 
        <set>
             administrative_unit=#{item.administrative_unit}
        </set>
      
        where fiapper_num=#{item.fiapper_num} and transpotyComId=#{item.transpotyComId}           
           </foreach>
</update>






三、批量insert

dao層

public void bindingDriver_update_insert(List<BindingDriver> list);


xml檔案

<!-- 批量增加操作 -->  
    <insert id="bindingDriver_update_insert" parameterType="java.util.List">  
        insert into z_binding(transpotyComId,fiapper_num,ucardid) values  
        <foreach collection="list" item="item" index="index" separator=",">  
            (#{item.transpotyComId},#{item.fiapper_num},#{item.ucardid})  
        </foreach>  
    </insert>