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