EasyUI条件查询 mybatis接收Map 查询

简介: 前端页面、js代码、Controller层代码、Service层代码、Dao层代码、mapper.xml

前端页面


 <div class="search_style">     
      <ul class="search_content ">
       <li style="margin-right:20px;float: left;line-height: 30px"><label class="l_f">订单编号</label><input id="oid" class="easyui-textbox" data-options="prompt:'订单编号',validType:'unnormal'" style="width:200px"></input></li>
       <li style="margin-right:20px;float: left;line-height: 30px"><label class="l_f">时间</label><input id="otime" class="easyui-datebox"; editable="fasle"; style=" margin-left:10px;"></li>
       <li style="margin-right:20px;float: left;line-height: 30px"><label class="l_f">订单状态</label><select id="ostatus" id="cc" class="easyui-combobox" name="status" style="width:200px;">
        <option value="0">全部</option>
        <option value="1">待付款</option>
        <option value="2">待发货</option>
        <option value="3">待收货</option>
        <option value="4">交易成功</option>
        <option value="5">待评价</option>
        <option value="6">交易关闭</option>
    </select>
    </li>
       <li style="margin-right:20px;float: left;line-height: 30px;width:90px;"><button type="button" class="btn_search"><i class="search"></i>查询</button></li>
      </ul>
 </div>


js代码


$(function(){
   $("button").click(function(){ 
        var oid=$("#oid").val();//取订单号
        var otime=$("#otime").datebox('getValue');//取订单时间
        var ostatus=$("#ostatus").combobox('getValue');//取订单状态
        var map={"oid" : oid,"otime":otime,"ostatus":ostatus};
        var str=JSON.stringify(map);
        $("#goodsorderList").datagrid({
          type : "GET",
        url : 'order/search/list',
        queryParams : {
          "oid" : oid,
          "otime":otime,
          "ostatus":ostatus
        },
        datatype : 'json',
        onLoadSuccess : function(data) {
          var result = eval(data).total;
          if (result == 0) {
            $.messager.alert('提示', '订单不存在!');
          }
        }
      });       
      })    
})


Controller层代码


//搜索查询订单列表
  @RequestMapping(value="/search/list",method=RequestMethod.GET)
  @ResponseBody
  public EasyUIDataGridResult getSearchOrderList(String oid,String otime,String ostatus,Integer page,Integer rows) {
    Map<String, Object> map=new HashMap<>();
    if(!oid.equals("")) {
      map.put("orderId",oid);     
    }else {
      map.put("orderId",null);}
    if(!otime.equals("")) {
      map.put("createdtime", otime);      
    }else {
      map.put("createdtime", null);
    }if(!ostatus.equals("0")) {
      map.put("status",ostatus);      
    }else {
      map.put("status",null); 
    }
    EasyUIDataGridResult result = orderService.querygoodsOrderList(map, page, rows);
    return result;
  }


Service层代码


public EasyUIDataGridResult querygoodsOrderList(Map<String, Object> map, int page, int rows) {
    PageHelper.startPage(page, rows);
    List<OrderPojo> list = orderMapper.queryGoodsOrderList(map, page, rows);
    List<OrderListPoJo> listpojo=new ArrayList<>();
    for(OrderPojo pojo:list) {
      OrderListPoJo pojolist=new OrderListPoJo();       
      pojolist.setOrder_id(pojo.getOrder_id());
      pojolist.setPayment(pojo.getPayment());
      pojolist.setPayment_type(pojo.getPayment_type());
      pojolist.setPost_fee(pojo.getPost_fee());
      pojolist.setDeedvalue(pojo.getDeedvalue());
      pojolist.setStatus(pojo.getStatus());
      pojolist.setCreate_time(pojo.getCreate_time());
      pojolist.setPayment_time(pojo.getPayment_time());
      pojolist.setConsign_time(pojo.getConsign_time());
      pojolist.setClose_time(pojo.getClose_time());
      pojolist.setEnd_time(pojo.getClose_time());
      pojolist.setShipping_code(pojo.getShipping_code());
      pojolist.setShipping_name(pojo.getShipping_name());
      pojolist.setShop_id(pojo.getShop_id());
      pojolist.setShop_name(pojo.getShop_name());
      pojolist.setSellerphone(getSellerPhone(pojo.getShop_id()));     
      listpojo.add(pojolist);
    }
    EasyUIDataGridResult result=new EasyUIDataGridResult();
    result.setRows(listpojo);
    PageInfo<OrderPojo> info=new PageInfo<>(list);
    result.setTotal(info.getTotal());
    return result;
  }


Dao层代码


List<OrderPojo> queryGoodsOrderList(@Param(value="map")Map<String, Object> map,int page,int rows);


mapper.xml


<select id="queryGoodsOrderList" parameterType="map" resultType="com.test.pojo.OrderPojo">
    SELECT
  t1.order_id,
  t1.payment,
  t1.payment_type,
  t1.post_fee,
  t1.deed_value 'deedvalue',
  t1.`status`,
  t1.create_time,
  t1.payment_time,
  t1.consign_time,
  t1.end_time,
  t1.close_time,
  t1.shipping_code,
  t1.shipping_name,
  t2.shop_id,
  t2.shop_name
  FROM tb_order t1  LEFT JOIN 
   tb_seller_order t2 ON t1.order_id=t2.order_id
 <where>
    <if test="map.orderId!=null and map.orderId!=''">
       and t1.order_id like "%"#{map.orderId}"%"
    </if>
     <if test="map.createdtime!=null and map.createdtime!=''">
       and date_format(t1.create_time,'%Y-%m-%d')=#{map.createdtime}
    </if>
    <if test="map.status!=null and map.status!=''">
       and t1.status=#{map.status}
    </if>
  </where>
  ORDER BY t1.create_time DESC
  </select>


好久没写mapper顺便做个记录,以上就是所有的代码,有问题的地方请大神指正。

相关文章
|
3月前
|
Java 数据库连接 数据库
mybatis查询数据,返回的对象少了一个字段
mybatis查询数据,返回的对象少了一个字段
193 8
|
27天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
15 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
2月前
|
SQL Java 数据库连接
mybatis如何仅仅查询某个表的几个字段
【10月更文挑战第19天】mybatis如何仅仅查询某个表的几个字段
40 1
|
3月前
|
SQL XML Java
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
文章介绍了MyBatis中高级查询的一对多和多对一映射处理,包括创建数据库表、抽象对应的实体类、使用resultMap中的association和collection标签进行映射处理,以及如何实现级联查询和分步查询。此外,还补充了延迟加载的设置和用法。
mybatis复习04高级查询 一对多,多对一的映射处理,collection和association标签的使用
|
4月前
|
JavaScript 前端开发
Vue中传递自定义参数到后端、后端获取数据(使用Map接收参数)
这篇文章讲述了如何在Vue中通过Axios二次封装传递自定义参数到后端,并展示了后端如何使用Map接收这些参数,以及如何避免参数转换错误和统一接口设计的方法。
|
5月前
|
Java 数据库连接 mybatis
Mybatis查询传递单个参数和传递多个参数用法
Mybatis查询传递单个参数和传递多个参数用法
69 11
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
MyBatisPlus如何根据id批量查询?Required request parameter ‘id‘ for method 解决方法是看青戈大佬MybatisPlus的教程
MyBatisPlus如何根据id批量查询?Required request parameter ‘id‘ for method 解决方法是看青戈大佬MybatisPlus的教程
MybatisPlus介绍新增用户,根据id查询,引入MybatisPlus的起步依赖,增删改查最简单的写法
MybatisPlus介绍新增用户,根据id查询,引入MybatisPlus的起步依赖,增删改查最简单的写法
|
6月前
|
Java 数据库连接 mybatis
Mybatis基于注解的一对一和一对多查询
Mybatis基于注解的一对一和一对多查询
下一篇
无影云桌面