Update TrainDaoImpl.java

pull/1/head
prwfxgajt 8 months ago
parent 904c8ebb37
commit acdd442fa9

@ -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: 2019914 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);
}
rs.close();
pstmt.close();
conn.close();
return list;
} }
closeResources(); // 关闭数据库资源
@Override return list; // 返回列车信息列表
public List<Train> getAllStartStation() throws SQLException {
String sql = "select distinct startstation from train";
conn = JDBCUtil.getConnection();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
List<Train> list = new ArrayList<Train>();
while (rs.next()) {
String startStation = rs.getString("startStation");
Train train = new Train();
train.setStartStation(startStation);
list.add(train);
} }
rs.close(); @Override
pstmt.close(); public List<Train> getAllStartStation() throws SQLException { // 获取所有不同的起始站的方法
conn.close(); String sql = "select distinct startstation from train"; // SQL查询选择不同的起始站
return list; conn = JDBCUtil.getConnection(); // 从JDBC工具类获取数据库连接
pstmt = conn.prepareStatement(sql); // 准备SQL查询语句
rs = pstmt.executeQuery(); // 执行查询操作
List<Train> list = new ArrayList<>(); // 创建列车信息列表
while (rs.next()) { // 遍历结果集
String startStation = rs.getString("startStation"); // 获取起始站
Train train = new Train(); // 创建列车对象
train.setStartStation(startStation); // 设置列车对象的起始站
list.add(train); // 将列车对象添加到列表
} }
closeResources(); // 关闭数据库资源
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();
}
}
}
} }
Loading…
Cancel
Save