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

Mybatis實(shí)現(xiàn)批量刪除和多條件查詢方式

 更新時(shí)間:2026年05月14日 09:12:43   作者:Rk..  
本文介紹了批量刪除功能的實(shí)現(xiàn)步驟,包括后臺(tái)代碼的修改,具體涉及到mapper層、Service層、Controller接口等層面的修改,同時(shí)也介紹了多條件查詢功能的實(shí)現(xiàn),具體包括創(chuàng)建封裝查詢條件的類,mapper層、Service層、Controller接口的修改等

一、批量刪除后臺(tái)代碼

1、mapper層

Mapper接口
     //批量刪除商品的功能
    int deleteBatch(String[] ids);
Mapper.xml
  <!--  批量刪除-->
  <delete id="deleteBatch">
    delete from product_info where p_id in
    <foreach collection="array" item="pid" separator="," open="(" close=")">
      #{pid}
    </foreach>
  </delete>

注意:接口傳過來的是String數(shù)組,foreach循環(huán)中取的是array

2、Service層

Service接口
    int deleteBatch(String[] ids);



Service實(shí)現(xiàn)類
    @Override
    public int deleteBatch(String[] ids) {
        return productInfoMapper.deleteBatch(ids);
    }

3、Controller接口

   //批量刪除 pids是要?jiǎng)h除的商品的id字符串,例如:1,2,3,4,5,
    @RequestMapping("/deletebatch")
    public String deleteBatch(String pids,HttpServletRequest request) {
        String[] ps = pids.split(",");//轉(zhuǎn)為數(shù)組[1,2,3,4,5]
        int num= 0;
        try {
            num = productInfoService.deleteBatch(ps);
            if(num>0)
            {
                request.setAttribute("msg","批量刪除成功!");
            }else {
                request.setAttribute("msg","批量刪除失敗");
            }
        } catch (Exception e) {
          request.setAttribute("msg","商品不可刪除!");
        }
        //批量刪除后 重新分頁(yè)查詢
        return "forward:/prod/deleteAjaxSplit.action";
    }

4、前臺(tái)視圖

<input type="button" class="btn btn-warning" id="btn1"
value="批量刪除" onclick="deleteBatch()">
</div>


js部分:

   //批量刪除
    function deleteBatch() {
        
        //取得所有被選中刪除商品的pid
        var zhi=$("input[name=ck]:checked");
        var str="";
        var id="";
        if(zhi.length==0){
            alert("請(qǐng)選擇將要?jiǎng)h除的商品!");
        }else{
            // 有選中的商品,則取出每個(gè)選 中商品的ID,拼提交的ID的數(shù)據(jù)
            if(confirm("您確定刪除"+zhi.length+"條商品嗎?")){
                //拼接ID
                $.each(zhi,function (index,item) {
                    id=$(item).val(); //22 33
                    if(id!=null)
                        str += id+",";  //22,33,44
                });
                //發(fā)送請(qǐng)求到服務(wù)器端
                // window.location="${pageContext.request.contextPath}/prod/deletebatch.action?str="+str;
                $.ajax({
                    url: "${pageContext.request.contextPath}/prod/deletebatch.action",
                    data: {"pids":str},
                    type: "post",
                    dataType:"text",
                    success:function (msg)
                    {
                        alert(msg);
                        $("#table").load("http://localhost:8099/admin/product.jsp #table");
                    }
                });
            }
        }
    }

二、多條件查詢后臺(tái)代碼

1、創(chuàng)建一個(gè)封裝查詢條件的類

//封裝查詢條件
public class ProductInfoVo {
    //商品名稱
    private String pname;
    //商品類型
    private Integer typeid;
    //最低價(jià)格
    private Double lprice;
    //最高價(jià)格
    private Double hprice;

    //補(bǔ)全get set  有/無參構(gòu)造方法 toString()
}

2、mapper層

Mapper接口:

    //多條件查詢商品
    List<ProductInfo> selectCondition(ProductInfoVo vo);

Mapper.xml:

<!--多條件查詢-->
  <select id="selectCondition" parameterType="com.rk.pojo.vo.ProductInfoVo" resultMap="BaseResultMap">
    select *
    from product_info
    <!--拼條件-->
    <where>
      <if test="pname!=null and pname!=''">
        and p_name like '%${pname}%'
      </if>
      <if test="typeid!=null and typeid!=-1">
        and type_id =#{typeid}
      </if>
      <if test="(lprice!=null and lprice!='') and  (hprice==null or hprice=='')">
        and p_price &gt;= #{lprice}
      </if>
      <if test="(lprice==null or lprice=='') and  (hprice!=null and hprice!='')">
        and p_price &lt;= #{hprice}
      </if>
      <if test="(lprice!=null and lprice!='') and  (hprice!=null and hprice!='')">
        and p_price between #{lprice} and #{hprice}
      </if>
    </where>
    order by p_id desc
  </select>

3、Service層

service接口:
     //多條件商品查詢
    List<ProductInfo> selectCondition(ProductInfoVo vo);

service實(shí)現(xiàn)類:

    @Override
    public List<ProductInfo> selectCondition(ProductInfoVo vo) {
        return productInfoMapper.selectCondition(vo);
    }

4、Controller接口

    //多條件查詢
    @ResponseBody
    @RequestMapping("/condition")
    public void condition(ProductInfoVo vo, HttpSession session)
    {
        List<ProductInfo> list = productInfoService.selectCondition(vo);
        session.setAttribute("list",list);
    }

查詢到的結(jié)果存入session,前端頁(yè)面從新加載table表格

5、前臺(tái)視圖

  <div id="condition" style="text-align: center">
        <form id="myform">
            商品名稱:<input name="pname" id="pname">&nbsp;&nbsp;&nbsp;
            商品類型:<select name="typeid" id="typeid">
            <option value="-1">請(qǐng)選擇</option>
            <c:forEach items="${ptlist}" var="pt">
                <option value="${pt.typeId}">${pt.typeName}</option>
            </c:forEach>
        </select>&nbsp;&nbsp;&nbsp;
            價(jià)格:<input name="lprice" id="lprice">-<input name="hprice" id="hprice">
            <input type="button" value="查詢" onclick="condition()">
        </form>
    </div>


js部分:
     //多條件查詢
    function condition(){
        //取出查詢條件
        var pname=$("#pname").val();
        var typeid=$("#typeid").val();
        var lprice=$("#lprice").val();
        var hprice=$("#hprice").val();
        $.ajax({
            type:"post",
            url:"${pageContext.request.contextPath}/prod/condition.action",
            data:{"pname":pname,"typeid":typeid,
                "lprice":lprice,"hprice":hprice},
            success:function () {
                //刷新表格  后臺(tái)將查詢到的結(jié)果存儲(chǔ)到seession
                $("#table").load("http://localhost:8099/admin/product.jsp #table");
            }
            }
        )
    }

效果展示:

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java Web之限制用戶多處登錄實(shí)例代碼

    Java Web之限制用戶多處登錄實(shí)例代碼

    本篇文章主要介紹了Java Web之限制用戶多處登錄實(shí)例代碼,可以限制單個(gè)用戶在多個(gè)終端登錄。非常具有實(shí)用價(jià)值,需要的朋友可以參考下。
    2017-03-03
  • springboot中spring.profiles.include的妙用分享

    springboot中spring.profiles.include的妙用分享

    這篇文章主要介紹了springboot中spring.profiles.include的妙用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • SpringCloud的JPA連接PostgreSql的教程

    SpringCloud的JPA連接PostgreSql的教程

    這篇文章主要介紹了SpringCloud的JPA接入PostgreSql 教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-06-06
  • Java詳解ScriptEngine接口動(dòng)態(tài)執(zhí)行JS腳本

    Java詳解ScriptEngine接口動(dòng)態(tài)執(zhí)行JS腳本

    ScriptEngine是基本接口,其方法必須在本規(guī)范的每個(gè)實(shí)現(xiàn)中完全起作用。這些方法提供基本腳本功能。 寫入這個(gè)簡(jiǎn)單接口的應(yīng)用程序可以在每個(gè)實(shí)現(xiàn)中進(jìn)行最少的修改。 它包括執(zhí)行腳本的方法,以及設(shè)置和獲取值的方法
    2022-08-08
  • java轉(zhuǎn)發(fā)和重定向的區(qū)別

    java轉(zhuǎn)發(fā)和重定向的區(qū)別

    這篇文章主要介紹了java轉(zhuǎn)發(fā)和重定向的區(qū)別,需要的朋友可以參考下
    2014-10-10
  • 在MyBatis的XML映射文件中<trim>元素所有場(chǎng)景下的完整使用示例代碼

    在MyBatis的XML映射文件中<trim>元素所有場(chǎng)景下的完整使用示例代碼

    在MyBatis的XML映射文件中,<trim>元素用于動(dòng)態(tài)添加SQL語(yǔ)句的一部分,處理前綴、后綴及多余的逗號(hào)或連接符,示例展示了如何在UPDATE、SELECT、INSERT和SQL片段中使用<trim>元素,以實(shí)現(xiàn)動(dòng)態(tài)的SQL構(gòu)建,感興趣的朋友一起看看吧
    2025-01-01
  • SpringMVC中的SimpleUrlHandlerMapping用法詳解

    SpringMVC中的SimpleUrlHandlerMapping用法詳解

    這篇文章主要介紹了SpringMVC中的SimpleUrlHandlerMapping用法詳解,SimpleUrlHandlerMapping是Spring MVC中適用性最強(qiáng)的Handler Mapping類,允許明確指定URL模式和Handler的映射關(guān)系,有兩種方式聲明SimpleUrlHandlerMapping,需要的朋友可以參考下
    2023-10-10
  • Maven多模塊項(xiàng)目調(diào)試與問題排查的完整指南

    Maven多模塊項(xiàng)目調(diào)試與問題排查的完整指南

    在現(xiàn)代企業(yè)級(jí)Java開發(fā)中,Maven多模塊項(xiàng)目因其清晰的代碼組織,依賴管理和高效的構(gòu)建流程已成為主流架構(gòu)模式,本文深入剖析多模塊項(xiàng)目的四大核心痛點(diǎn)解決方案,感興趣的小伙伴可以跟隨小編一起了解下
    2025-06-06
  • java實(shí)現(xiàn)Yaml轉(zhuǎn)Json示例詳解

    java實(shí)現(xiàn)Yaml轉(zhuǎn)Json示例詳解

    這篇文章主要為大家介紹了java實(shí)現(xiàn)Yaml轉(zhuǎn)Json示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 詳解如何繼承Mybatis中Mapper.xml文件

    詳解如何繼承Mybatis中Mapper.xml文件

    這篇文章主要為大家介紹了詳解如何繼承Mybatis中Mapper.xml文件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09

最新評(píng)論

河源市| 徐汇区| 安徽省| 延吉市| 右玉县| 镇沅| 靖边县| 台湾省| 板桥市| 郎溪县| 永清县| 都安| 启东市| 张家口市| 峡江县| 丁青县| 大方县| 兴安盟| 沈阳市| 夹江县| 迁西县| 沙坪坝区| 阳原县| 星子县| 南川市| 皮山县| 沾益县| 洞口县| 东乡| 石河子市| 于都县| 额济纳旗| 马关县| 彰武县| 新平| 思南县| 东丰县| 永城市| 营口市| 平阳县| 剑川县|