• 高级查询,分页


    高级查询,分页:

    1:service层:

    代码:

     1   @Override
     2     public QueryLimitPageObj queryLimitPage(ProductQueryObj productQueryObj) {
     3         QueryLimitPageObj queryLimitPageObj = new QueryLimitPageObj();
     4       //查询列表
     5         List<Product> products = productDao.chooseQuery(productQueryObj);
     6         queryLimitPageObj.setData(products);
     7         //当前页
     8         Integer currentPage = productQueryObj.getCurrentPage();
     9         queryLimitPageObj.setCurrentPage(currentPage);
    10         //每页显示条数
    11         Integer pageSize = productQueryObj.getPageSize();
    12         queryLimitPageObj.setPageSize(pageSize);
    13         //总条数
    14         int totalNum = productDao.getTotalNum(productQueryObj);
    15         queryLimitPageObj.setTotalNum(totalNum);
    16         //总页数
    17          queryLimitPageObj.setTotalPage((totalNum + pageSize - 1)/ pageSize);
    18         return queryLimitPageObj;
    19     }
    View Code

    2:封装分页对象:

    3.封装高级查询对象:

    sql :

      

        <sql id="queryCommon">
            <where>
                <if test="productName!=null and productName!=''">
                    AND product_name=#{productName}
                </if>
                <if test="stockNum!=null and stockNum!=''">
                    AND stock_num=#{stockNum}
                </if>
                <if test="minSalePrice!=null and minSalePrice!=''">
                    AND sale_price>=#{minSalePrice}
                </if>
                <if test="maxSalePrice!=null and maxSalePrice!=''">
                    AND sale_price &lt;= #{maxSalePrice}
                </if>
            </where>
        </sql>
    
    
        <select id="chooseQuery" parameterType="com.floor.shop.query.ProductQueryObj"
                resultType="com.floor.shop.model.Product">
            SELECT id,product_name productName ,sale_price salePrice,stock_num stockNum,`type` type FROM product
            <include refid="queryCommon"/>
            limit #{startIndex},#{pageSize}
        </select>
    
    
        <select id="getTotalNum" parameterType="com.floor.shop.query.ProductQueryObj" resultType="int">
            SELECT COUNT(1) totalNum FROM product
            <include refid="queryCommon"/>
        </select>
  • 相关阅读:
    FastAdmin 提示框 toastr 改变文字
    FastAdmin 将会员模块升级为基础模块的升级指导
    随笔
    随笔
    c++11 lambda(了解)
    c++11 类型推断
    boost::archive::text_oarchive
    std::ostringstream
    随笔
    随笔1
  • 原文地址:https://www.cnblogs.com/dw3306/p/9349129.html
Copyright © 2020-2023  润新知