|
|
@ -1,239 +1,217 @@
|
|
|
|
package com.cn.dao.impl;
|
|
|
|
package com.cn.dao.impl; // 定义包名
|
|
|
|
|
|
|
|
|
|
|
|
import java.sql.Connection;
|
|
|
|
import java.sql.*; // 导入SQL相关的类
|
|
|
|
import java.sql.PreparedStatement;
|
|
|
|
import java.util.*; // 导入集合相关的类
|
|
|
|
import java.sql.ResultSet;
|
|
|
|
|
|
|
|
import java.sql.SQLException;
|
|
|
|
|
|
|
|
import java.sql.Timestamp;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import com.cn.dao.TrainDao;
|
|
|
|
import com.cn.dao.TrainDao; // 导入TrainDao接口
|
|
|
|
import com.cn.domain.Train;
|
|
|
|
import com.cn.domain.Train; // 导入Train实体类
|
|
|
|
import com.cn.util.JDBCUtil;
|
|
|
|
import com.cn.util.JDBCUtil; // 导入JDBC工具类
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* TrainDao的实现类,提供列车数据访问操作。
|
|
|
|
* @ClassName: TrainDaoImpl
|
|
|
|
|
|
|
|
* @Description: TrainDao的实现类
|
|
|
|
|
|
|
|
* @author: ljy
|
|
|
|
|
|
|
|
* @date: 2019年9月14日 下午10:46:23
|
|
|
|
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class TrainDaoImpl implements TrainDao {
|
|
|
|
public class TrainDaoImpl implements TrainDao {
|
|
|
|
|
|
|
|
private Connection conn = null; // 数据库连接对象
|
|
|
|
private Connection conn = null;
|
|
|
|
private PreparedStatement pstmt = null; // 预编译语句对象
|
|
|
|
private PreparedStatement pstmt = null;
|
|
|
|
private ResultSet rs = null; // 结果集对象
|
|
|
|
private ResultSet rs = null;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int add(Train train) throws SQLException {
|
|
|
|
public int add(Train train) throws SQLException { // 添加列车信息的方法
|
|
|
|
String sql = "insert into train (trainnumber,startstation,endstation,starttime,endtime,price,seatnumber,addtime) values (?,?,?,?,?,?,?,?)";
|
|
|
|
String sql = "insert into train (trainnumber,startstation,endstation,starttime,endtime,price,seatnumber,addtime) values (?,?,?,?,?,?,?,?)";
|
|
|
|
|
|
|
|
conn = JDBCUtil.getConnection(); // 从JDBC工具类获取数据库连接
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql); // 准备SQL插入语句
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, train.getTrainNumber()); // 设置列车编号参数
|
|
|
|
pstmt.setObject(1, train.getTrainNumber());
|
|
|
|
pstmt.setObject(2, train.getStartStation()); // 设置起始站参数
|
|
|
|
pstmt.setObject(2, train.getStartStation());
|
|
|
|
pstmt.setObject(3, train.getEndStation()); // 设置终点站参数
|
|
|
|
pstmt.setObject(3, train.getEndStation());
|
|
|
|
pstmt.setObject(4, train.getStartTime()); // 设置起始时间参数
|
|
|
|
pstmt.setObject(4, train.getStartTime());
|
|
|
|
pstmt.setObject(5, train.getEndTime()); // 设置结束时间参数
|
|
|
|
pstmt.setObject(5, train.getEndTime());
|
|
|
|
pstmt.setObject(6, train.getPrice()); // 设置价格参数
|
|
|
|
pstmt.setObject(6, train.getPrice());
|
|
|
|
pstmt.setObject(7, train.getSeatNumber()); // 设置座位数参数
|
|
|
|
pstmt.setObject(7, train.getSeatNumber());
|
|
|
|
pstmt.setObject(8, train.getAddTime()); // 设置添加时间参数
|
|
|
|
pstmt.setObject(8, train.getAddTime());
|
|
|
|
int recordNumber = pstmt.executeUpdate(); // 执行插入操作,并返回影响的行数
|
|
|
|
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
int recordNumber = pstmt.executeUpdate();
|
|
|
|
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return recordNumber;
|
|
|
|
return recordNumber;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int delete(Integer trainId) throws SQLException {
|
|
|
|
public int delete(Integer trainId) throws SQLException { // 根据列车ID删除列车信息的方法
|
|
|
|
String sql = "delete from train where trainid=?";
|
|
|
|
String sql = "delete from train where trainid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, trainId);
|
|
|
|
pstmt.setObject(1, trainId); // 设置列车ID参数
|
|
|
|
int recordNumber = pstmt.executeUpdate();
|
|
|
|
int recordNumber = pstmt.executeUpdate(); // 执行删除操作,并返回影响的行数
|
|
|
|
pstmt.close();
|
|
|
|
closeResources();
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return recordNumber;
|
|
|
|
return recordNumber;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
|
|
|
* @Override public int update(Train train) throws SQLException { conn =
|
|
|
|
|
|
|
|
* JDBCUtil.getConnection(); queryRunner = new QueryRunner(); int recordNumber =
|
|
|
|
|
|
|
|
* queryRunner.update(conn,
|
|
|
|
|
|
|
|
* "update train set trainnumber=?,startstation=?,endstation=?,starttime=?,endtime=?,price=?,seatnumber=?,addtime=? where trainid=?"
|
|
|
|
|
|
|
|
* , train.getTrainNumber(),train.getStartStation(),train.getEndStation(),train.
|
|
|
|
|
|
|
|
* getStartTime(),train.getEndTime(),train.getPrice(),train.getSeatNumber(),
|
|
|
|
|
|
|
|
* train.getAddTime(),train.getTrainId()); conn.close(); return
|
|
|
|
|
|
|
|
* recordNumber; }
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public int update(Train train) throws SQLException {
|
|
|
|
public int update(Train train) throws SQLException { // 更新列车信息的方法
|
|
|
|
String sql = "update train set trainnumber=?,startstation=?,endstation=?,starttime=?,endtime=?,price=?,seatnumber=? where trainid=?";
|
|
|
|
String sql = "update train set trainnumber=?,startstation=?,endstation=?,starttime=?,endtime=?,price=?,seatnumber=? where trainid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, train.getTrainNumber());
|
|
|
|
pstmt.setObject(1, train.getTrainNumber()); // 设置列车编号参数
|
|
|
|
pstmt.setObject(2, train.getStartStation());
|
|
|
|
pstmt.setObject(2, train.getStartStation()); // 设置起始站参数
|
|
|
|
pstmt.setObject(3, train.getEndStation());
|
|
|
|
pstmt.setObject(3, train.getEndStation()); // 设置终点站参数
|
|
|
|
pstmt.setObject(4, train.getStartTime());
|
|
|
|
pstmt.setObject(4, train.getStartTime()); // 设置起始时间参数
|
|
|
|
pstmt.setObject(5, train.getEndTime());
|
|
|
|
pstmt.setObject(5, train.getEndTime()); // 设置结束时间参数
|
|
|
|
pstmt.setObject(6, train.getPrice());
|
|
|
|
pstmt.setObject(6, train.getPrice()); // 设置价格参数
|
|
|
|
pstmt.setObject(7, train.getSeatNumber());
|
|
|
|
pstmt.setObject(7, train.getSeatNumber()); // 设置座位数参数
|
|
|
|
pstmt.setObject(8, train.getTrainId());
|
|
|
|
pstmt.setObject(8, train.getTrainId()); // 设置列车ID参数,用于更新条件
|
|
|
|
|
|
|
|
int recordNumber = pstmt.executeUpdate(); // 执行更新操作,并返回影响的行数
|
|
|
|
int recordNumber = pstmt.executeUpdate();
|
|
|
|
closeResources();
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return recordNumber;
|
|
|
|
return recordNumber;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Train> getAll() throws SQLException {
|
|
|
|
public List<Train> getAll() throws SQLException { // 获取所有列车信息的方法
|
|
|
|
String sql = "select * from train";
|
|
|
|
String sql = "select * from train";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
List<Train> list = new ArrayList<Train>();
|
|
|
|
List<Train> list = new ArrayList<>(); // 创建列车信息列表
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
int trainId = rs.getInt("trainId");
|
|
|
|
int trainId = rs.getInt("trainId"); // 获取列车ID
|
|
|
|
String trainNumber = rs.getString("trainNumber");
|
|
|
|
String trainNumber = rs.getString("trainNumber"); // 获取列车编号
|
|
|
|
String startStation = rs.getString("startStation");
|
|
|
|
String startStation = rs.getString("startStation"); // 获取起始站
|
|
|
|
String endStation = rs.getString("endStation");
|
|
|
|
String endStation = rs.getString("endStation"); // 获取终点站
|
|
|
|
String startTime = rs.getString("startTime");
|
|
|
|
String startTime = rs.getString("startTime"); // 获取起始时间
|
|
|
|
String endTime = rs.getString("endTime");
|
|
|
|
String endTime = rs.getString("endTime"); // 获取结束时间
|
|
|
|
int price = rs.getInt("price");
|
|
|
|
int price = rs.getInt("price"); // 获取价格
|
|
|
|
int seatNumber = rs.getInt("seatNumber");
|
|
|
|
int seatNumber = rs.getInt("seatNumber"); // 获取座位数
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime");
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime"); // 获取添加时间
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price,
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price, seatNumber, addTime); // 创建列车对象
|
|
|
|
seatNumber, addTime);
|
|
|
|
list.add(train); // 添加列车对象到列表
|
|
|
|
list.add(train);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
rs.close();
|
|
|
|
return list; // 返回列车信息列表
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public Train getById(Integer trainId) throws SQLException {
|
|
|
|
public Train getById(Integer trainId) throws SQLException { // 根据列车ID获取列车信息的方法
|
|
|
|
String sql = "select * from train where trainid=?";
|
|
|
|
String sql = "select * from train where trainid=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, trainId);
|
|
|
|
pstmt.setObject(1, trainId); // 设置列车ID参数
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
Train train = null;
|
|
|
|
Train train = null; // 初始化列车对象
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
String trainNumber = rs.getString("trainNumber");
|
|
|
|
String trainNumber = rs.getString("trainNumber"); // 获取列车编号
|
|
|
|
String startStation = rs.getString("startStation");
|
|
|
|
String startStation = rs.getString("startStation"); // 获取起始站
|
|
|
|
String endStation = rs.getString("endStation");
|
|
|
|
String endStation = rs.getString("endStation"); // 获取终点站
|
|
|
|
String startTime = rs.getString("startTime");
|
|
|
|
String startTime = rs.getString("startTime"); // 获取起始时间
|
|
|
|
String endTime = rs.getString("endTime");
|
|
|
|
String endTime = rs.getString("endTime"); // 获取结束时间
|
|
|
|
int price = rs.getInt("price");
|
|
|
|
int price = rs.getInt("price"); // 获取价格
|
|
|
|
int seatNumber = rs.getInt("seatNumber");
|
|
|
|
int seatNumber = rs.getInt("seatNumber"); // 获取座位数
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime");
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime"); // 获取添加时间
|
|
|
|
train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price, seatNumber,
|
|
|
|
train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price, seatNumber, addTime); // 创建列车对象
|
|
|
|
addTime);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
rs.close();
|
|
|
|
return train; // 返回列车对象
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return train;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Train> getByTrainNumber(String trainNumber) throws SQLException {
|
|
|
|
public List<Train> getByTrainNumber(String trainNumber) throws SQLException { // 根据列车编号获取列车信息列表的方法
|
|
|
|
String sql = "select * from train where trainnumber=?";
|
|
|
|
String sql = "select * from train where trainnumber=?";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, trainNumber);
|
|
|
|
pstmt.setObject(1, trainNumber); // 设置列车编号参数
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
List<Train> list = new ArrayList<Train>();
|
|
|
|
List<Train> list = new ArrayList<>(); // 创建列车信息列表
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
int trainId = rs.getInt("trainId");
|
|
|
|
int trainId = rs.getInt("trainId"); // 获取列车ID
|
|
|
|
String startStation = rs.getString("startStation");
|
|
|
|
String startStation = rs.getString("startStation"); // 获取起始站
|
|
|
|
String endStation = rs.getString("endStation");
|
|
|
|
String endStation = rs.getString("endStation"); // 获取终点站
|
|
|
|
String startTime = rs.getString("startTime");
|
|
|
|
String startTime = rs.getString("startTime"); // 获取起始时间
|
|
|
|
String endTime = rs.getString("endTime");
|
|
|
|
String endTime = rs.getString("endTime"); // 获取结束时间
|
|
|
|
int price = rs.getInt("price");
|
|
|
|
int price = rs.getInt("price"); // 获取价格
|
|
|
|
int seatNumber = rs.getInt("seatNumber");
|
|
|
|
int seatNumber = rs.getInt("seatNumber"); // 获取座位数
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime");
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime"); // 获取添加时间
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price,
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price, seatNumber, addTime); // 创建列车对象
|
|
|
|
seatNumber, addTime);
|
|
|
|
list.add(train); // 添加列车对象到列表
|
|
|
|
list.add(train);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
rs.close();
|
|
|
|
return list; // 返回列车信息列表
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Train> getByStartEndStation(String startStation, String endStation, String startTime)
|
|
|
|
public List<Train> getByStartEndStation(String startStation, String endStation, String startTime) throws SQLException { // 根据起始站、终点站和起始时间获取列车信息列表的方法
|
|
|
|
throws SQLException {
|
|
|
|
|
|
|
|
String sql = "select * from train where startStation=? and endStation=? and startTime like \"%\"?\"%\"";
|
|
|
|
String sql = "select * from train where startStation=? and endStation=? and startTime like \"%\"?\"%\"";
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt.setObject(1, startStation);
|
|
|
|
pstmt.setObject(1, startStation); // 设置起始站参数
|
|
|
|
pstmt.setObject(2, endStation);
|
|
|
|
pstmt.setObject(2, endStation); // 设置终点站参数
|
|
|
|
pstmt.setObject(3, startTime);
|
|
|
|
pstmt.setObject(3, startTime); // 设置起始时间参数
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
List<Train> list = new ArrayList<Train>();
|
|
|
|
List<Train> list = new ArrayList<>(); // 创建列车信息列表
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
int trainId = rs.getInt("trainId");
|
|
|
|
int trainId = rs.getInt("trainId"); // 获取列车ID
|
|
|
|
String trainNumber = rs.getString("trainNumber");
|
|
|
|
String trainNumber = rs.getString("trainNumber"); // 获取列车编号
|
|
|
|
String endTime = rs.getString("endTime");
|
|
|
|
String endTime = rs.getString("endTime"); // 获取结束时间
|
|
|
|
int price = rs.getInt("price");
|
|
|
|
int price = rs.getInt("price"); // 获取价格
|
|
|
|
int seatNumber = rs.getInt("seatNumber");
|
|
|
|
int seatNumber = rs.getInt("seatNumber"); // 获取座位数
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime");
|
|
|
|
Timestamp addTime = rs.getTimestamp("addTime"); // 获取添加时间
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price,
|
|
|
|
Train train = new Train(trainId, trainNumber, startStation, endStation, startTime, endTime, price, seatNumber, addTime); // 创建列车对象
|
|
|
|
seatNumber, addTime);
|
|
|
|
list.add(train); // 添加列车对象到列表
|
|
|
|
list.add(train);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
rs.close();
|
|
|
|
return list; // 返回列车信息列表
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Train> getAllStartStation() throws SQLException {
|
|
|
|
public List<Train> getAllStartStation() throws SQLException { // 获取所有不同的起始站的方法
|
|
|
|
String sql = "select distinct startstation from train";
|
|
|
|
String sql = "select distinct startstation from train"; // SQL查询,选择不同的起始站
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection(); // 从JDBC工具类获取数据库连接
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql); // 准备SQL查询语句
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
List<Train> list = new ArrayList<Train>();
|
|
|
|
List<Train> list = new ArrayList<>(); // 创建列车信息列表
|
|
|
|
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
while (rs.next()) {
|
|
|
|
String startStation = rs.getString("startStation"); // 获取起始站
|
|
|
|
String startStation = rs.getString("startStation");
|
|
|
|
Train train = new Train(); // 创建列车对象
|
|
|
|
Train train = new Train();
|
|
|
|
train.setStartStation(startStation); // 设置列车对象的起始站
|
|
|
|
train.setStartStation(startStation);
|
|
|
|
list.add(train); // 将列车对象添加到列表
|
|
|
|
list.add(train);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
rs.close();
|
|
|
|
return list; // 返回列车信息列表
|
|
|
|
pstmt.close();
|
|
|
|
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public List<Train> getAllEndStation() throws SQLException {
|
|
|
|
public List<Train> getAllEndStation() throws SQLException { // 获取所有不同的终点站的方法
|
|
|
|
String sql = "select distinct endstation from train";
|
|
|
|
String sql = "select distinct endstation from train"; // SQL查询,选择不同的终点站
|
|
|
|
conn = JDBCUtil.getConnection();
|
|
|
|
conn = JDBCUtil.getConnection(); // 从JDBC工具类获取数据库连接
|
|
|
|
pstmt = conn.prepareStatement(sql);
|
|
|
|
pstmt = conn.prepareStatement(sql); // 准备SQL查询语句
|
|
|
|
rs = pstmt.executeQuery();
|
|
|
|
rs = pstmt.executeQuery(); // 执行查询操作
|
|
|
|
List<Train> list = new ArrayList<Train>();
|
|
|
|
List<Train> list = new ArrayList<>(); // 创建列车信息列表
|
|
|
|
while (rs.next()) {
|
|
|
|
while (rs.next()) { // 遍历结果集
|
|
|
|
String endStation = rs.getString("endStation");
|
|
|
|
String endStation = rs.getString("endStation"); // 获取终点站
|
|
|
|
Train train = new Train();
|
|
|
|
Train train = new Train(); // 创建列车对象
|
|
|
|
train.setEndStation(endStation);
|
|
|
|
train.setEndStation(endStation); // 设置列车对象的终点站
|
|
|
|
list.add(train);
|
|
|
|
list.add(train); // 将列车对象添加到列表
|
|
|
|
}
|
|
|
|
}
|
|
|
|
rs.close();
|
|
|
|
closeResources(); // 关闭数据库资源
|
|
|
|
pstmt.close();
|
|
|
|
return list; // 返回列车信息列表
|
|
|
|
conn.close();
|
|
|
|
|
|
|
|
return list;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 关闭数据库资源的方法
|
|
|
|
|
|
|
|
private void closeResources() {
|
|
|
|
|
|
|
|
if (rs != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
rs.close(); // 关闭结果集
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (pstmt != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
pstmt.close(); // 关闭预编译语句
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (conn != null) {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
conn.close(); // 关闭数据库连接
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|