第一次结对作业(五)
今日完成了第一次结对作业北京地铁查询系统的换乘功能部分代码的编写,jsp部主要是布局的编写需要创建表格展示查询到的数据,对于路径/最短路径的查询则是数据库操作,通过MySQL的递归查询,查询出所有可能的线路,再将其排序,第一条记录即为最短路径,同时其他路径也提供了其他的出行可能。
查询部分代码:
1 String sql ="WITH RECURSIVE transfer (start_station, stop_station, stops, path) AS (\n" + 2 " SELECT station_name, next_station, 1, CAST(CONCAT(line_name,station_name , '->', line_name,next_station) AS CHAR(1000))\n" + 3 " FROM bj_subway WHERE station_name = ?\n" + 4 " UNION ALL\n" + 5 " SELECT p.start_station, e.next_station, stops + 1, CONCAT(p.path, '->', e.line_name, e.next_station)\n" + 6 " FROM transfer p\n" + 7 " JOIN bj_subway e\n" + 8 " ON p.stop_station = e.station_name AND (INSTR(p.path, e.next_station) = 0)\n" + 9 ")\n" + 10 "SELECT * FROM transfer WHERE stop_station = ?;\n"; 11 preparedStatement = connection.prepareStatement(sql); 12 preparedStatement.setString(1,q); 13 preparedStatement.setString(2,q1); 14 rs = preparedStatement.executeQuery();
查询结果展示:

后续将完成界面的优化以及安卓端的开发。
工作照:

浙公网安备 33010602011771号