package com.cn.service; import java.sql.SQLException; // 导入SQLException类,用于处理数据库操作时可能遇到的异常 import java.util.List; // 导入List接口,用于返回列表类型的数据 import com.cn.domain.Train; // 导入Train类,该类代表车次的实体 /** * 定义车次服务接口,提供车次相关的业务操作。 */ public interface TrainService { /** * 添加一个新的车次。 * 该方法将车次对象的信息添加到数据库中。 * 如果添加成功,返回1;如果添加失败,抛出SQLException异常。 * * @param train 车次对象,包含车次的详细信息。 * @return 返回1表示添加成功。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ int add(Train train); /** * 根据车次ID删除一个车次。 * 该方法根据传入的车次ID从数据库中删除对应的车次信息。 * 如果删除成功,返回1;如果删除失败,抛出SQLException异常。 * * @param trainId 要删除的车次的ID。 * @return 返回1表示删除成功。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ int delete(Integer trainId); /** * 更新一个车次的信息。 * 该方法根据传入的车次对象更新数据库中的车次信息。 * 如果更新成功,返回1;如果更新失败,抛出SQLException异常。 * * @param train 包含更新信息的车次对象。 * @return 返回1表示更新成功。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ int update(Train train); /** * 获取所有车次的信息。 * 该方法从数据库中查询所有车次的信息,并返回一个包含所有车次信息的列表。 * 如果查询失败,抛出SQLException异常。 * * @return 返回一个包含所有车次信息的List,其中每个元素都是Train对象。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ List getAll(); /** * 根据车次ID查询一个车次的详细信息。 * 该方法根据传入的车次ID从数据库中查询对应的车次详细信息。 * 如果查询失败,抛出SQLException异常。 * * @param trainId 要查询的车次的ID。 * @return 返回一个Train对象,包含车次的详细信息。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ Train getById(Integer trainId); /** * 根据车次号查询车次信息。 * 该方法根据传入的车次号从数据库中查询对应的车次信息。 * 如果查询失败,抛出SQLException异常。 * * @param trainNumber 车次号。 * @return 返回一个包含匹配车次号的所有车次信息的List,其中每个元素都是Train对象。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ List getByTrainNumber(String trainNumber); /** * 根据起始站、终点站、开车时间查询车次信息。 * 该方法根据传入的起始站、终点站和开车时间从数据库中查询对应的车次信息。 * 如果查询失败,抛出SQLException异常。 * * @param startStation 起始站名称。 * @param endStation 终点站名称。 * @param startTime 开车时间,传入时不包含时分秒。 * @return 返回一个包含匹配起始站、终点站和开车时间的所有车次信息的List,其中每个元素都是Train对象。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ List getByStartEndStation(String startStation, String endStation, String startTime); /** * 获取所有非重复的起始站。 * 该方法从数据库中查询所有非重复的起始站,并返回一个包含所有非重复起始站的列表。 * 如果查询失败,抛出SQLException异常。 * * @return 返回一个包含所有非重复起始站的List,其中每个元素都是Train对象。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ List getAllStartStation(); /** * 获取所有非重复的终点站。 * 该方法从数据库中查询所有非重复的终点站,并返回一个包含所有非重复终点站的列表。 * 如果查询失败,抛出SQLException异常。 * * @return 返回一个包含所有非重复终点站的List,其中每个元素都是Train对象。 * @throws SQLException 如果数据库操作失败,则抛出SQLException异常。 */ List getAllEndStation(); }