地铁线路查询

由于自身技术限制,目前只写出了对线路的查询和查出同一线路的信息,对于换乘问题还没有解决,接下来就谈谈我的理解。

List<Subway> subwayn = dao.getSubwayByNumber(number);    1
        if(subwayn == null) {
            req.setAttribute("info", "无此路线!");
            req.getRequestDispatcher("road.jsp").forward(req,resp);
        } else {
            req.setAttribute("subwayn", subwayn);       2

2中的subwayn是获取1中的subwayn的值,2中的"subwayn"是设置一个节点,将subwayn的值赋予"subwayn",且"subwayn"需要与jsp中<c:forEach items="${subwayn}" var="item" varStatus="status">中的加红字体一致。

 查询线路信息:

public List<Subway> getSubwayByNumber(int number) {
        String sql = "select * from subwayn where number = '" + number + "'";
        List<Subway> list = new ArrayList<>();
        Connection conn = Util.getConnection();
        Statement state = null;
        ResultSet rs = null;
        try {
            state = conn.createStatement();
            rs = state.executeQuery(sql);
            Subway subwayn = null;
            while (rs.next()) {
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String info = rs.getString("info");
                subwayn = new Subway(id, number, name, info);
                list.add(subwayn);
            }

通过id查找同一线路的信息,并将其打印出来。

 途经信息查询:

private void getSubwayByName(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException{
        req.setCharacterEncoding("utf-8");
        String name1 = req.getParameter("name1");
        String name2 = req.getParameter("name2");
        Subway subwayn1 = dao.getSubwayByName(name1);
        Subway subwayn2 = dao.getSubwayByName(name2);
        List<Subway> subwayn3=new ArrayList<>();
        subwayn3 = dao.search(name1,name2);
        int m = 0;
        if(subwayn1.getNumber()==subwayn2.getNumber()){
            m = Math.abs(subwayn1.getId()-subwayn2.getId());
        }

name1是起点站名,name2是终点站名,m为两站点id值得差表示途径几站,subwayn3为新建一个表,将途经站点信息储存。

String sql3 = "select * from subwayn where id between '" + subwayn1.getId() + "' and '" + subwayn2.getId() + "'";

查询id值在subwayn1和subwayn2之间的站点

还有就是通过对数据库的学习,我对SELECT语句的理解和运用更加深刻了。

对于换乘的问题,我们还将继续讨论。

猜你喜欢

转载自www.cnblogs.com/2205254761qq/p/10652595.html
今日推荐