|
|
@ -13,45 +13,47 @@ import com.cn.service.impl.TrainServiceImpl;
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* @ClassName: TrainServiceTest
|
|
|
|
* @ClassName: TrainServiceTest
|
|
|
|
* @Description: TrainService的测试类,用于对TrainService所提供的各种与列车信息相关的业务方法进行单元测试。
|
|
|
|
* @Description: TrainService的测试类,主要用于对与列车相关的业务逻辑服务(TrainService)中的各个方法进行单元测试,
|
|
|
|
* 主要涵盖了列车信息的添加(单条和批量)、删除、更新以及多种条件下的查询等功能测试,以此来验证相关业务逻辑的正确性以及与数据库交互的有效性。
|
|
|
|
* 验证如添加列车信息、删除列车信息、更新列车信息以及多种条件下查询列车信息等功能是否能正确执行,
|
|
|
|
|
|
|
|
* 以此确保TrainService所提供的功能符合预期并能与底层数据存储正确交互。
|
|
|
|
* @author: ljy
|
|
|
|
* @author: ljy
|
|
|
|
* @date: 2019年9月16日 下午10:53:36
|
|
|
|
* @date: 2019年9月16日 下午10:53:36
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
public class TrainServiceTest {
|
|
|
|
public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
// 创建TrainService接口的具体实现类TrainServiceImpl的实例,后续将通过该实例调用具体的业务方法,
|
|
|
|
// 创建TrainService接口的具体实现类TrainServiceImpl的实例,后续将通过该实例调用TrainService中定义的各个业务方法,
|
|
|
|
// 这些业务方法实现了与列车信息在数据库层面的增删改查等操作逻辑。
|
|
|
|
// 来测试不同的列车信息操作功能。
|
|
|
|
private TrainService trainService = new TrainServiceImpl();
|
|
|
|
private TrainService trainService = new TrainServiceImpl();
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试向数据库中添加单条列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试向数据库中添加单条列车信息的功能。
|
|
|
|
* 在这个方法中,创建一个Train对象并填充相应的列车信息属性,然后调用trainService的add方法将其添加到数据库中,
|
|
|
|
* 在此方法中,先创建一个Train对象并设置好相应的列车属性信息,然后调用trainService的add方法将该列车信息添加到数据库中,
|
|
|
|
* 最后根据返回结果判断添加操作是否成功执行。
|
|
|
|
* 最后通过打印返回结果来查看添加操作是否成功执行。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testAdd() {
|
|
|
|
public void testAdd() {
|
|
|
|
// 创建一个Train对象,该对象对应数据库中列车信息表的一条记录,用于封装要添加的列车详细信息。
|
|
|
|
// 创建一个Train对象,该对象用于封装要添加到数据库中的列车信息,其各个属性对应数据库中列车信息表的不同字段。
|
|
|
|
Train train = new Train();
|
|
|
|
Train train = new Train();
|
|
|
|
// 设置列车的车次编号,这里设置为"K322",是一个示例车次,实际应用中应符合业务规则和车次编号规范。
|
|
|
|
// 设置列车的车次编号,这里将其设置为"K322",这是一个示例车次,实际应用中应符合实际的车次命名规则和业务要求。
|
|
|
|
train.setTrainNumber("K322");
|
|
|
|
train.setTrainNumber("K322");
|
|
|
|
// 设置列车的起始站名称,此处设置为"北京",代表列车出发的站点。
|
|
|
|
// 设置列车的起始站名称,将其设置为"北京",表示列车出发的站点。
|
|
|
|
train.setStartStation("北京");
|
|
|
|
train.setStartStation("北京");
|
|
|
|
// 设置列车的终点站名称,这里设置为"天津",表示列车最终到达的站点。
|
|
|
|
// 设置列车的终点站名称,此处设为"天津",代表列车最终要到达的站点。
|
|
|
|
train.setEndStation("天津");
|
|
|
|
train.setEndStation("天津");
|
|
|
|
// 设置列车的出发时间,采用固定的日期时间字符串格式,需要确保数据库中对应字段能够正确解析该格式的时间数据。
|
|
|
|
// 设置列车的出发时间,采用"yyyy-MM-dd HH:mm:ss"格式的字符串来表示时间,这里设置的具体时间为2019-09-01 15:30:00,
|
|
|
|
// 此格式为"yyyy-MM-dd HH:mm:ss",这里设置的时间为2019-09-01 15:30:00,仅为测试示例时间。
|
|
|
|
// 该格式需与数据库中对应时间字段的存储格式相匹配,以确保能正确插入数据。
|
|
|
|
train.setStartTime("2019-09-01 15:30:00");
|
|
|
|
train.setStartTime("2019-09-01 15:30:00");
|
|
|
|
// 设置列车的到达时间,同样遵循"yyyy-MM-dd HH:mm:ss"格式,设置为2019-09-01 16:50:00,代表列车预计到达终点站的时间。
|
|
|
|
// 设置列车的到达时间,同样遵循"yyyy-MM-dd HH:mm:ss"格式,设置为2019-09-01 16:50:00,用于表示列车预计到达终点站的时间。
|
|
|
|
train.setEndTime("2019-09-01 16:50:00");
|
|
|
|
train.setEndTime("2019-09-01 16:50:00");
|
|
|
|
// 设置列车的票价,单位可能是元等货币单位,这里设置为200,仅作测试用途的示例价格。
|
|
|
|
// 设置列车的票价,单位通常为某种货币单位(比如人民币元),这里设置为200,仅作为测试用途的示例价格数值。
|
|
|
|
train.setPrice(200);
|
|
|
|
train.setPrice(200);
|
|
|
|
// 设置列车的座位数量,此处设置为1000个座位,也是用于测试的示例数量。
|
|
|
|
// 设置列车的座位数量,此处设为1000个座位,同样是用于测试的一个示例数量值。
|
|
|
|
train.setSeatNumber(1000);
|
|
|
|
train.setSeatNumber(1000);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前系统时间并转换为Timestamp类型,用于设置列车信息的添加时间,即记录这条列车信息是什么时候被录入系统的。
|
|
|
|
// 获取当前系统时间,并将其转换为Timestamp类型,用于设置列车信息的添加时间,即记录这条列车信息是什么时候被录入到系统中的。
|
|
|
|
// 以下是两种获取Timestamp的方式,这里采用了直接利用Date的getTime方法获取时间戳,再构造Timestamp对象的方式。
|
|
|
|
// 以下是两种获取Timestamp的方式,这里采用了直接利用Date类的getTime方法获取时间戳,再通过该时间戳构造Timestamp对象的方式。
|
|
|
|
// 注释掉的代码是先通过SimpleDateFormat将Date格式化为指定字符串格式,再通过Timestamp.valueOf方法将格式化后的字符串转换为Timestamp类型的方式。
|
|
|
|
// 注释掉的代码是先使用SimpleDateFormat将Date对象格式化为指定的日期时间字符串格式("yyyy-MM-dd HH:mm:ss"),
|
|
|
|
|
|
|
|
// 再通过Timestamp的valueOf方法将格式化后的字符串转换为Timestamp类型的方式,两种方式都能达到目的,只是实现途径略有不同。
|
|
|
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
|
|
|
|
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
@ -59,21 +61,23 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
int recordNumber = 0;
|
|
|
|
int recordNumber = 0;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 调用trainService的add方法,该方法定义在TrainService接口并在TrainServiceImpl类中实现,
|
|
|
|
// 调用trainService的add方法,该方法在TrainService接口中定义,并由TrainServiceImpl类实现具体逻辑。
|
|
|
|
// 其内部逻辑会将传入的Train对象所包含的列车信息插入到数据库对应的表中,例如构建合适的SQL插入语句、处理数据库连接等操作。
|
|
|
|
// 其内部会构建合适的SQL插入语句,与数据库建立连接,然后将Train对象所包含的列车信息插入到数据库对应的列车信息表中,
|
|
|
|
// 返回值recordNumber通常表示受影响的数据库记录行数,在这里如果成功插入一条记录,一般返回值为1,将其打印输出以便查看添加操作是否成功执行。
|
|
|
|
// 返回值recordNumber通常表示受影响的数据库记录行数,在成功插入一条记录的情况下,一般返回值为1,这里将其打印输出,
|
|
|
|
|
|
|
|
// 以便查看添加操作是否按预期成功执行,如果出现异常则返回值可能不符合预期或者抛出异常。
|
|
|
|
recordNumber = trainService.add(train);
|
|
|
|
recordNumber = trainService.add(train);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
// 如果在执行添加操作过程中出现任何异常(比如数据库连接失败、SQL语法错误、违反数据库约束等情况),
|
|
|
|
// 如果在执行添加列车信息的操作过程中出现了任何异常(例如数据库连接失败、SQL语法错误、违反数据库约束等情况),
|
|
|
|
// 则通过e.printStackTrace()打印异常的栈追踪信息,方便开发人员排查问题所在,确定是哪部分代码导致了异常出现。
|
|
|
|
// 通过e.printStackTrace()方法打印异常的栈追踪信息,方便开发人员排查问题所在,确定是哪部分代码或者数据库相关配置导致了异常的出现。
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试批量添加列车信息到数据库的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试批量添加列车信息到数据库的功能。
|
|
|
|
* 通过循环创建多条不同的列车信息记录,并依次调用trainService的add方法将它们添加到数据库中,模拟批量录入列车数据的业务场景。
|
|
|
|
* 通过循环创建多条不同的列车信息记录,并在每次循环中调用trainService的add方法将这些记录依次添加到数据库中,
|
|
|
|
|
|
|
|
* 模拟在实际业务场景中批量录入列车数据的操作情况,以此来验证批量添加功能的正确性和稳定性。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testBatchAdd() {
|
|
|
|
public void testBatchAdd() {
|
|
|
@ -87,8 +91,8 @@ public class TrainServiceTest {
|
|
|
|
train.setPrice(200 + i);
|
|
|
|
train.setPrice(200 + i);
|
|
|
|
train.setSeatNumber(1000 + i);
|
|
|
|
train.setSeatNumber(1000 + i);
|
|
|
|
|
|
|
|
|
|
|
|
// 获取当前系统时间并转换为Timestamp类型,用于设置每条列车信息的添加时间,原理与testAdd方法中时间设置部分相同,都是记录数据录入的时间点。
|
|
|
|
// 获取当前系统时间,并转换为Timestamp类型,用于设置每条列车信息的添加时间,其原理与testAdd方法中设置添加时间的操作相同,
|
|
|
|
// 同样有两种获取Timestamp的方式,这里采用直接获取时间戳构造Timestamp对象的方式,注释掉的另一种方式不再赘述。
|
|
|
|
// 都是为了记录每条列车信息被录入系统的具体时间点,同样采用直接获取时间戳构造Timestamp对象的方式,注释掉的另一种方式不再赘述。
|
|
|
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
|
|
|
|
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
|
Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
@ -96,8 +100,9 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
int recordNumber = 0;
|
|
|
|
int recordNumber = 0;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 每次循环都调用trainService的add方法,将当前创建的Train对象代表的列车信息添加到数据库中,
|
|
|
|
// 每次循环都调用trainService的add方法,将当前创建的Train对象所代表的列车信息添加到数据库中,
|
|
|
|
// 并打印每次添加操作返回的记录数,通过查看这些返回值可以了解每条记录是否成功插入数据库,以及插入过程中是否有异常情况。
|
|
|
|
// 并打印每次添加操作返回的记录数,通过查看这些返回值可以判断每条记录是否成功插入数据库,以及插入过程中是否遇到异常情况,
|
|
|
|
|
|
|
|
// 例如如果某一次返回值不为1(在预期每条记录都应正常插入的情况下),则可能表示该次插入出现了问题,需要进一步排查。
|
|
|
|
recordNumber = trainService.add(train);
|
|
|
|
recordNumber = trainService.add(train);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
@ -108,16 +113,17 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车ID从数据库中删除对应列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车ID从数据库中删除对应列车信息的功能。
|
|
|
|
* 调用trainService的delete方法并传入指定的列车ID,验证是否能正确从数据库中删除相应的列车记录。
|
|
|
|
* 在此方法中,调用trainService的delete方法并传入指定的列车ID值,尝试从数据库中删除相应的列车记录,
|
|
|
|
|
|
|
|
* 最后通过打印返回结果来查看删除操作是否成功执行。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testDelete() {
|
|
|
|
public void testDelete() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 调用trainService的delete方法,该方法实现了根据给定的列车ID在数据库中查找并删除对应列车记录的逻辑,
|
|
|
|
// 调用trainService的delete方法,该方法的具体实现位于TrainServiceImpl类中,其内部会构建相应的SQL删除语句,
|
|
|
|
// 其内部会构建相应的SQL删除语句,处理数据库连接以及执行删除操作等相关事宜。
|
|
|
|
// 根据传入的列车ID(这里传入的硬编码值为5,仅作为测试示例,实际应用中应根据具体业务需求获取要删除的列车ID),
|
|
|
|
// 传入的参数5是要删除的列车记录在数据库中的唯一标识(ID),这里硬编码仅为测试示例,实际应用中可能通过用户输入或其他业务逻辑获取具体要删除的ID值。
|
|
|
|
// 在数据库中查找并删除对应的列车记录,处理数据库连接以及执行删除操作等相关事宜。
|
|
|
|
// 返回值recordNumber通常表示受影响的数据库记录行数,若成功删除对应的列车记录,返回值一般为1;若数据库中不存在该ID对应的记录,则返回值为0。
|
|
|
|
// 返回值recordNumber通常表示受影响的数据库记录行数,若成功删除对应的列车记录,返回值一般为1;若数据库中不存在该ID对应的记录,则返回值为0。
|
|
|
|
// 将返回的recordNumber打印输出,便于查看删除操作是否成功执行。
|
|
|
|
// 将返回的recordNumber打印输出,便于查看删除操作是否按预期成功执行。
|
|
|
|
int recordNumber = trainService.delete(5);
|
|
|
|
int recordNumber = trainService.delete(5);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
@ -127,13 +133,14 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试更新数据库中列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试更新数据库中列车信息的功能。
|
|
|
|
* 创建一个包含更新后信息的Train对象,并通过trainService的update方法将这些更新应用到数据库中对应的列车记录上。
|
|
|
|
* 先创建一个包含更新后信息的Train对象,设置好相应的列车属性以及要更新的列车记录的ID,然后调用trainService的update方法,
|
|
|
|
|
|
|
|
* 将这些更新内容应用到数据库中对应的列车记录上,最后通过打印返回结果来查看更新操作是否成功执行。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testUpdate() {
|
|
|
|
public void testUpdate() {
|
|
|
|
Train train = new Train();
|
|
|
|
Train train = new Train();
|
|
|
|
// 设置要更新的列车记录在数据库中的唯一标识(ID),此处设置为18,代表要更新的是数据库中ID为18的列车记录,
|
|
|
|
// 设置要更新的列车记录在数据库中的唯一标识(ID),这里将其设置为18,代表要更新的是数据库中ID为18的列车记录,
|
|
|
|
// 通过这个ID可以准确找到对应的列车信息行进行更新操作,实际应用中该值应根据具体业务需求来确定。
|
|
|
|
// 通过这个ID可以准确找到对应的列车信息行进行更新操作,实际应用中该值应根据具体业务需求来确定,比如通过用户输入或者其他业务逻辑获取。
|
|
|
|
train.setTrainId(18);
|
|
|
|
train.setTrainId(18);
|
|
|
|
train.setTrainNumber("XXX11");
|
|
|
|
train.setTrainNumber("XXX11");
|
|
|
|
train.setStartStation("北京");
|
|
|
|
train.setStartStation("北京");
|
|
|
@ -142,15 +149,16 @@ public class TrainServiceTest {
|
|
|
|
train.setEndTime("2019-09-01 16:50:00");
|
|
|
|
train.setEndTime("2019-09-01 16:50:00");
|
|
|
|
train.setPrice(200);
|
|
|
|
train.setPrice(200);
|
|
|
|
train.setSeatNumber(1000);
|
|
|
|
train.setSeatNumber(1000);
|
|
|
|
// 以下代码原本用于设置更新时间(与添加时间类似的处理方式获取Timestamp),但此处被注释掉了,可能是根据业务需求不需要更新该字段或者在其他地方统一处理更新时间。
|
|
|
|
// 以下两行代码原本用于设置更新时间(与添加时间类似的处理方式获取Timestamp),但此处被注释掉了,可能是根据业务需求不需要更新该字段,
|
|
|
|
|
|
|
|
// 或者在其他地方统一处理更新时间相关的逻辑,具体需结合整个业务实现情况来看。
|
|
|
|
// Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
|
// Timestamp addTime = new Timestamp(new Date().getTime());
|
|
|
|
// train.setAddTime(addTime);
|
|
|
|
// train.setAddTime(addTime);
|
|
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 调用trainService的update方法,该方法实现了根据传入的Train对象所携带的更新信息,
|
|
|
|
// 调用trainService的update方法,该方法在TrainService接口中定义并由TrainServiceImpl类实现具体更新逻辑,
|
|
|
|
// 在数据库中查找并更新对应ID的列车记录的逻辑,例如构建合适的SQL更新语句、处理数据库连接以及执行更新操作等。
|
|
|
|
// 其内部会根据传入的Train对象所携带的更新信息,在数据库中查找并更新对应ID的列车记录,例如构建合适的SQL更新语句、
|
|
|
|
// 返回值recordNumber通常表示受影响的数据库记录行数,若成功更新对应的列车记录,返回值一般为1;若数据库中不存在该ID对应的记录,则返回值为0。
|
|
|
|
// 处理数据库连接以及执行更新操作等,返回值recordNumber通常表示受影响的数据库记录行数,若成功更新对应的列车记录,返回值一般为1;
|
|
|
|
// 将返回的recordNumber打印输出,便于查看更新操作是否成功执行。
|
|
|
|
// 若数据库中不存在该ID对应的记录,则返回值为0,将返回的recordNumber打印输出,便于查看更新操作是否按预期成功执行。
|
|
|
|
int recordNumber = trainService.update(train);
|
|
|
|
int recordNumber = trainService.update(train);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
System.out.println(recordNumber);
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
@ -160,17 +168,18 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试从数据库中获取所有列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试从数据库中获取所有列车信息的功能。
|
|
|
|
* 调用trainService的getAll方法获取全部列车记录,并遍历打印输出每条列车信息,以此验证查询所有列车信息的功能是否正常。
|
|
|
|
* 调用trainService的getAll方法获取数据库中全部的列车记录,然后遍历获取到的列车信息列表,将每条列车信息打印输出,
|
|
|
|
|
|
|
|
* 以此来验证查询所有列车信息的功能是否能正确执行,查看返回的列车信息是否符合预期。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testGetAll() {
|
|
|
|
public void testGetAll() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 调用trainService的getAll方法,该方法实现了从数据库中查询并获取所有列车记录的逻辑,
|
|
|
|
// 调用trainService的getAll方法,该方法的具体实现位于TrainServiceImpl类中,其内部会构建相应的SQL查询语句,
|
|
|
|
// 内部会构建相应的SQL查询语句,执行查询操作并将结果封装为Train对象列表返回。
|
|
|
|
// 执行查询操作从数据库的列车信息表中获取所有记录,并将这些记录封装为Train对象列表返回,以便后续进行遍历和处理。
|
|
|
|
List<Train> list = trainService.getAll();
|
|
|
|
List<Train> list = trainService.getAll();
|
|
|
|
for (Train train : list) {
|
|
|
|
for (Train train : list) {
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train的toString方法将每条列车信息以字符串形式打印输出,
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train对象的toString方法将每条列车信息以字符串的形式打印输出,
|
|
|
|
// toString方法通常会按照一定格式展示列车对象的各个属性信息,方便查看查询结果的具体内容。
|
|
|
|
// toString方法通常会按照一定的格式展示列车对象的各个属性信息,方便查看查询结果的具体内容,了解所有列车的详细情况。
|
|
|
|
System.out.println(train.toString());
|
|
|
|
System.out.println(train.toString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
@ -180,17 +189,20 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车ID从数据库中获取对应列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车ID从数据库中获取对应列车信息的功能。
|
|
|
|
* 传入指定的列车ID,调用trainService的getById方法查询并获取相应的列车记录,然后打印输出该列车信息,以此验证按ID查询功能的正确性。
|
|
|
|
* 在此方法中,先定义要查询的列车记录在数据库中的唯一标识(ID),然后调用trainService的getById方法,
|
|
|
|
|
|
|
|
* 根据该ID查询并获取相应的列车记录,最后将获取到的列车信息打印输出,以此验证按ID查询列车信息的功能是否正确。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testGetById() {
|
|
|
|
public void testGetById() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 定义要查询的列车记录在数据库中的唯一标识(ID),这里设置为2,代表要获取ID为2的列车信息,仅为测试示例,实际应用中可根据具体业务场景获取相应的ID值。
|
|
|
|
// 定义要查询的列车记录在数据库中的唯一标识(ID),这里将其设置为2,代表要获取ID为2的列车信息,仅作为测试示例,
|
|
|
|
|
|
|
|
// 实际应用中可根据具体业务场景通过合适的方式获取相应的列车ID值,比如从用户输入、其他关联数据等途径获取。
|
|
|
|
Integer trainId = 2;
|
|
|
|
Integer trainId = 2;
|
|
|
|
// 调用trainService的getById方法,该方法实现了根据传入的列车ID在数据库中查找并获取对应列车记录的逻辑,
|
|
|
|
// 调用trainService的getById方法,该方法的具体实现位于TrainServiceImpl类中,其内部会构建合适的SQL查询语句,
|
|
|
|
// 内部会构建合适的SQL查询语句,执行查询操作并将查询到的列车信息封装为Train对象返回。
|
|
|
|
// 根据传入的列车ID在数据库中查找并获取对应列车记录,将查询到的列车信息封装为Train对象返回,以便后续进行展示或其他处理。
|
|
|
|
Train train = trainService.getById(trainId);
|
|
|
|
Train train = trainService.getById(trainId);
|
|
|
|
// 打印输出获取到的列车信息,通过调用train的toString方法将列车对象的各个属性以字符串形式展示出来,方便查看查询结果。
|
|
|
|
// 打印输出获取到的列车信息,通过调用train对象的toString方法将列车对象的各个属性以字符串形式展示出来,
|
|
|
|
|
|
|
|
// 方便查看查询结果,确认获取到的列车信息是否符合预期。
|
|
|
|
System.out.println(train.toString());
|
|
|
|
System.out.println(train.toString());
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
@ -199,18 +211,21 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车车次编号从数据库中获取对应列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车车次编号从数据库中获取对应列车信息的功能。
|
|
|
|
* 传入指定的列车车次编号,调用trainService的getByTrainNumber方法查询并获取相应的列车记录,然后遍历打印输出这些列车信息,以此验证按车次编号查询功能的有效性。
|
|
|
|
* 先定义要查询的列车车次编号,然后调用trainService的getByTrainNumber方法,根据该车次编号查询并获取相应的列车记录,
|
|
|
|
|
|
|
|
* 最后遍历并打印输出获取到的列车信息,以此验证按车次编号查询列车信息的功能是否有效。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testGetByTrainNumber() {
|
|
|
|
public void testGetByTrainNumber() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 定义要查询的列车车次编号,这里设置为"XXX11",代表要获取车次编号为"XXX11"的列车信息,仅为测试示例,实际应用中根据具体业务场景传入相应的车次编号值。
|
|
|
|
// 定义要查询的列车车次编号,这里将其设置为"XXX11",代表要获取车次编号为"XXX11"的列车信息,仅作为测试示例,
|
|
|
|
|
|
|
|
// 实际应用中根据具体业务场景传入相应的车次编号值,比如用户输入想要查询的车次信息等情况。
|
|
|
|
String trainNumber = "XXX11";
|
|
|
|
String trainNumber = "XXX11";
|
|
|
|
// 调用trainService的getByTrainNumber方法,该方法实现了根据传入的列车车次编号在数据库中查找并获取对应列车记录的逻辑,
|
|
|
|
// 调用trainService的getByTrainNumber方法,该方法的具体实现位于TrainServiceImpl类中,其内部可能会构建类似模糊查询(如果支持模糊查询的话)
|
|
|
|
// 可能会构建类似模糊查询(如果支持模糊查询的话)或精确查询的SQL语句,执行查询操作并将查询到的列车信息封装为Train对象列表返回。
|
|
|
|
// 或精确查询的SQL语句,根据传入的列车车次编号在数据库中查找并获取对应列车记录,将查询到的列车信息封装为Train对象列表返回,以便后续遍历展示。
|
|
|
|
List<Train> list = trainService.getByTrainNumber(trainNumber);
|
|
|
|
List<Train> list = trainService.getByTrainNumber(trainNumber);
|
|
|
|
for (Train train : list) {
|
|
|
|
for (Train train : list) {
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train的toString方法将每条列车信息以字符串形式打印输出,方便查看查询到的符合条件的列车记录内容。
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train对象的toString方法将每条列车信息以字符串形式打印输出,
|
|
|
|
|
|
|
|
// 方便查看查询到的符合条件的列车记录内容,确认是否获取到了期望的列车信息。
|
|
|
|
System.out.println(train.toString());
|
|
|
|
System.out.println(train.toString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
@ -220,51 +235,23 @@ public class TrainServiceTest {
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车起始站、终点站以及出发日期从数据库中获取对应列车信息的功能。
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试根据列车起始站、终点站以及出发日期从数据库中获取对应列车信息的功能。
|
|
|
|
* 传入指定的起始站、终点站和出发日期,调用trainService的getByStartEndStation方法查询并获取符合条件的列车记录,然后遍历打印输出这些列车信息,以此验证按多条件查询功能的正确性。
|
|
|
|
* 先传入指定的起始站、终点站和出发日期参数,然后调用trainService的getByStartEndStation方法,
|
|
|
|
|
|
|
|
* 根据这些条件查询并获取符合要求的列车记录,最后遍历并打印输出获取到的列车信息,以此验证按多条件查询列车信息的功能是否正确。
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@Test
|
|
|
|
@Test
|
|
|
|
public void testGetByStartEndStation() {
|
|
|
|
public void testGetByStartEndStation() {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
// 调用trainService的getByStartEndStation方法,传入列车的起始站名称(这里设置为"上海")、终点站名称(设置为"广州")以及出发日期(设置为"2019-09-01"),
|
|
|
|
// 调用trainService的getByStartEndStation方法,传入列车的起始站名称(这里设置为"上海")、终点站名称(设置为"广州")以及出发日期(设置为"2019-09-01"),
|
|
|
|
// 该方法内部会构建相应的SQL查询语句,根据这些条件在数据库中筛选出符合要求的列车记录,执行查询操作并将查询到的列车信息封装为Train对象列表返回。
|
|
|
|
// 该方法的具体实现位于TrainServiceImpl类中,其内部会构建相应的SQL查询语句,根据这些条件在数据库中筛选出符合要求的列车记录,
|
|
|
|
|
|
|
|
// 执行查询操作并将查询到的列车信息封装为Train对象列表返回,以便后续进行遍历展示等操作。
|
|
|
|
List<Train> list = trainService.getByStartEndStation("上海", "广州", "2019-09-01");
|
|
|
|
List<Train> list = trainService.getByStartEndStation("上海", "广州", "2019-09-01");
|
|
|
|
for (Train train : list) {
|
|
|
|
for (Train train : list) {
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train的toString方法将每条列车信息以字符串形式打印输出,方便查看查询到的符合条件的列车记录详细内容。
|
|
|
|
// 遍历获取到的列车信息列表,通过调用train对象的toString方法将每条列车信息以字符串形式打印输出,
|
|
|
|
System.out.println(train.toString());
|
|
|
|
// 方便查看查询到的符合条件的
|
|
|
|
}
|
|
|
|
System.out.println(train.getEndStation());
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试从数据库中获取所有列车起始站信息的功能。
|
|
|
|
|
|
|
|
* 调用trainService的getAllStartStation方法获取全部列车记录中的起始站名称,并遍历打印输出这些起始站名称,以此验证获取所有起始站信息功能的正确性。
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
public void testGetAllStartStation() {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
// 调用trainService的getAllStartStation方法,该方法实现了从数据库中查询并获取所有列车记录的起始站名称的逻辑,
|
|
|
|
|
|
|
|
// 内部会构建相应的SQL查询语句,执行查询操作并将查询到的起始站名称封装为列表返回,每个元素对应一条列车记录的起始站名称。
|
|
|
|
|
|
|
|
List<Train> list = trainService.getAllStartStation();
|
|
|
|
|
|
|
|
for (Train train : list) {
|
|
|
|
|
|
|
|
// 遍历获取到的起始站名称列表,直接打印输出每个起始站名称,方便查看查询结果,了解数据库中所有列车的出发站点情况。
|
|
|
|
|
|
|
|
System.out.println(train.getStartStation());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} catch (Exception e) {
|
|
|
|
} catch (Exception e) {
|
|
|
|
e.printStackTrace();
|
|
|
|
e.printStackTrace();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
|
|
|
|
* @Test注解表明这是一个JUnit测试方法,用于测试从数据库中获取所有列车终点站信息的功能。
|
|
|
|
|
|
|
|
* 调用trainService的getAllEndStation方法获取全部列车记录中的终点站名称,并遍历打印输出这些终点站名称,以此验证获取所有终点站信息功能的正确性。
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
@Test
|
|
|
|
|
|
|
|
public void testGetAllEndStation() {
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
|
|
|
// 调用trainService的getAllEndStation方法,该方法实现了从数据库中查询并获取所有列车记录的终点站名称的逻辑,
|
|
|
|
|
|
|
|
// 内部会构建相应的SQL查询语句,执行查询操作并将查询到的终点站名称封装为列表返回,每个元素对应一条列车记录的终点站名称。
|
|
|
|
|
|
|
|
List<Train> list = trainService.getAllEndStation();
|
|
|
|
|
|
|
|
for (Train train : list) {
|
|
|
|
|
|
|
|
//
|
|
|
|
|