zoukankan      html  css  js  c++  java
  • 大型运输行业实战_day04_2_高级查询

    1.高级查询最总效果

         

    2.高级查询步骤

           2.1页面输入框显示

    1  开始车站:<input id="startStation" type="text" value="" />2     到达车站:<input id="stopStation" type="text" value="" />
    3     <button onclick="query()">查询</button>

          2.2获取输入参数并发送ajax请求

     1 /* 高级查询js函数*/
     2     function query(){
     3         //alert("------query------");
     4         //1.获取参数
     5          var  startStation = $("#startStation").val();
     6        //alert("startStation="+startStation);
     7         var  stopStation = $("#stopStation").val();
     8         //2.发送请求
     9         var params = {
    10             startStation:startStation,
    11             stopStation:stopStation
    12         };
    13         var url = 'http://localhost:8080/ticket2/data2';
    14         jQuery.ajax({
    15             type: 'POST',
    16             contentType: 'application/x-www-form-urlencoded',
    17             url: url,
    18             data: params,
    19             dataType: 'json',
    20             success: function (data) {
    21                 var html='<tr>'+
    22                         '<td>编号</td>'+
    23                         '<td>开始车站</td>'+
    24                         '<td>到达车站</td>'+
    25                         '</tr>';
    26                 //解析数据到table表中
    27                 for (var i=0;i<data.length;i++){
    28                     //取出一个对象   
    29                     var  ticket = data[i];
    30                     //java里面的内省机制 取出对象中的值
    31                     var id = ticket.id;
    32                     var startStation=  ticket.startStation;
    33                     var stopStation=  ticket.stopStation;
    34                     //拼接html代码
    35                     html+='<tr>'+
    36                             '<td>'+id+'</td>'+
    37                             '<td>'+startStation+'</td>'+
    38                             '<td>'+stopStation+'</td>'+
    39                             '</tr>';
    40                 }
    41                 //3.填充数据
    42                 $("#ticketList").html(html);
    43             },
    44             error: function (data) {
    45                 alert("失败啦");
    46             }
    47         });
    48     }

          2.3控制层处理

     1 /**
     2      * 高级查询获取车票数据
     3      */
     4     @RequestMapping("/data2")
     5     @ResponseBody  //请求数据必须写这个
     6     public List<Ticket> getData2(TicketQueryObj ticketQueryObj){
     7         //接收参数
     8         //调用方法
     9         List<Ticket> list = ticketService.getList(ticketQueryObj);
    10         //控制跳转
    11         return list;
    12     }

          2.4业务层处理

    1  @Override
    2     public List<Ticket> getList(TicketQueryObj ticketQueryObj) {
    3         List<Ticket> tickets = ticketDao.queryList(ticketQueryObj);
    4         return tickets;
    5     }

         2.5持久层接口

    1     /**
    2      * 根据条件查询
    3      * @param ticketQueryObj
    4      * @return
    5      */
    6     List<Ticket> queryList(TicketQueryObj ticketQueryObj);

         2.6映射文件sql语句

     1 <select id="queryList" parameterType="com.day02.sation.query.TicketQueryObj"  resultType="com.day02.sation.model.Ticket">
     2         SELECT id,start_station startStation,stop_station stopStation FROM ticket
     3        <where>
     4            <if test="startStation!=null and startStation!='' ">
     5                AND  start_station = #{startStation}
     6            </if>
     7            <if test="stopStation!=null and stopStation!='' ">
     8                AND stop_station=#{stopStation}
     9            </if>
    10        </where>
    11 </select>

         2.7测试dao是否可用   注意必须测试

       @Test
        public void testGetList2(){
            TicketQueryObj ticketQueryObj = new TicketQueryObj();
            ticketQueryObj.setStartStation("成都    ");
            ticketQueryObj.setStopStation("南充");
            List<Ticket> list = ticketDao.queryList(ticketQueryObj);
            System.out.println("list="+list);
        }

        2.8.使用到的查询对象TicketQueryObj.java

     1 package com.day02.sation.query;
     2 
     3 /**
     4  * Created by Administrator on 12/28.
     5  */
     6 public class TicketQueryObj {
     7     private String startStation;
     8     private String stopStation;
     9     public String getStartStation() {
    10         return startStation;
    11     }
    12     public void setStartStation(String startStation) {
    13         this.startStation = startStation;
    14     }
    15     public String getStopStation() {
    16         return stopStation;
    17     }
    18     public void setStopStation(String stopStation) {
    19         this.stopStation = stopStation;
    20     }
    21 }
    TicketQueryObj.java

        2.9.重启项目高级查询实现完成!

  • 相关阅读:
    2018JAVA面试题附答案
    微服务概述
    Java后台开发面试题总结
    郁金香搜索引擎方案
    单点登录
    Redis为什么是单线程
    数据库原理-范式
    权限分配之一级菜单优化添加和编辑页面图标
    权限分配之一级菜单保留原搜索条件
    django分页的东西, 不详细, 但是也足够了。
  • 原文地址:https://www.cnblogs.com/newAndHui/p/8135972.html
Copyright © 2011-2022 走看看