Update TrainServiceTest.java

pull/1/head
pw6qtp7hv 8 months ago
parent 4f7b347ea2
commit 40323ba798

@ -1,6 +1,5 @@
package com.cn.test;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
@ -13,163 +12,259 @@ import com.cn.service.impl.TrainServiceImpl;
/**
*
* @ClassName: TrainServiceTest
* @Description: TrainService
* @ClassName: TrainServiceTest
* @Description: TrainServiceTrainService
*
* @author: ljy
* @date: 2019916 10:53:36
*/
public class TrainServiceTest {
private TrainService trainService = new TrainServiceImpl();
@Test
public void testAdd() {
Train train = new Train();
train.setTrainNumber("K322");
train.setStartStation("北京");
train.setEndStation("天津");
train.setStartTime("2019-09-01 15:30:00");
train.setEndTime("2019-09-01 16:50:00");
train.setPrice(200);
train.setSeatNumber(1000);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
Timestamp addTime = new Timestamp(new Date().getTime());
train.setAddTime(addTime);
int recordNumber = 0;
try {
recordNumber = trainService.add(train);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testBatchAdd() {
for(int i=1; i<=300; i++) {
Train train = new Train();
train.setTrainNumber("K3"+i);
train.setStartStation("北京"+i);
train.setEndStation("天津"+i);
train.setStartTime("2020-01-01 15:30:00");
train.setEndTime("2020-01-02 16:50:00");
train.setPrice(200+i);
train.setSeatNumber(1000+i);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
Timestamp addTime = new Timestamp(new Date().getTime());
train.setAddTime(addTime);
int recordNumber = 0;
try {
recordNumber = trainService.add(train);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Test
public void testDelete() {
try {
int recordNumber = trainService.delete(5);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testUpdate() {
Train train = new Train();
train.setTrainId(18);
train.setTrainNumber("XXX11");
train.setStartStation("北京");
train.setEndStation("天津");
train.setStartTime("2019-09-01 15:30:00");
train.setEndTime("2019-09-01 16:50:00");
train.setPrice(200);
train.setSeatNumber(1000);
//Timestamp addTime = new Timestamp(new Date().getTime());
//train.setAddTime(addTime);
try {
int recordNumber = trainService.update(train);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetAll() {
try {
List<Train> list = trainService.getAll();
for(Train train : list) {
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetById() {
try {
Integer trainId = 2;
Train train = trainService.getById(trainId);
System.out.println(train.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetByTrainNumber() {
try {
String trainNumber="XXX11";
List<Train> list = trainService.getByTrainNumber(trainNumber);
for(Train train : list) {
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetByStartEndStation() {
try {
List<Train> list = trainService.getByStartEndStation("上海", "广州", "2019-09-01");
for(Train train : list) {
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetAllStartStation() {
try {
List<Train> list = trainService.getAllStartStation();
for(Train train : list) {
System.out.println(train.getStartStation());
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Test
public void testGetAllEndStation() {
try {
List<Train> list = trainService.getAllEndStation();
for(Train train : list) {
System.out.println(train.getEndStation());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
// 创建TrainService接口的具体实现类TrainServiceImpl的实例后续将通过该实例调用具体的业务方法
// 这些业务方法实现了与列车信息在数据库层面的增删改查等操作逻辑。
private TrainService trainService = new TrainServiceImpl();
/**
* @TestJUnit
* TraintrainServiceadd
*
*/
@Test
public void testAdd() {
// 创建一个Train对象该对象对应数据库中列车信息表的一条记录用于封装要添加的列车详细信息。
Train train = new Train();
// 设置列车的车次编号,这里设置为"K322",是一个示例车次,实际应用中应符合业务规则和车次编号规范。
train.setTrainNumber("K322");
// 设置列车的起始站名称,此处设置为"北京",代表列车出发的站点。
train.setStartStation("北京");
// 设置列车的终点站名称,这里设置为"天津",表示列车最终到达的站点。
train.setEndStation("天津");
// 设置列车的出发时间,采用固定的日期时间字符串格式,需要确保数据库中对应字段能够正确解析该格式的时间数据。
// 此格式为"yyyy-MM-dd HH:mm:ss"这里设置的时间为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代表列车预计到达终点站的时间。
train.setEndTime("2019-09-01 16:50:00");
// 设置列车的票价单位可能是元等货币单位这里设置为200仅作测试用途的示例价格。
train.setPrice(200);
// 设置列车的座位数量此处设置为1000个座位也是用于测试的示例数量。
train.setSeatNumber(1000);
// 获取当前系统时间并转换为Timestamp类型用于设置列车信息的添加时间即记录这条列车信息是什么时候被录入系统的。
// 以下是两种获取Timestamp的方式这里采用了直接利用Date的getTime方法获取时间戳再构造Timestamp对象的方式。
// 注释掉的代码是先通过SimpleDateFormat将Date格式化为指定字符串格式再通过Timestamp.valueOf方法将格式化后的字符串转换为Timestamp类型的方式。
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
Timestamp addTime = new Timestamp(new Date().getTime());
train.setAddTime(addTime);
int recordNumber = 0;
try {
// 调用trainService的add方法该方法定义在TrainService接口并在TrainServiceImpl类中实现
// 其内部逻辑会将传入的Train对象所包含的列车信息插入到数据库对应的表中例如构建合适的SQL插入语句、处理数据库连接等操作。
// 返回值recordNumber通常表示受影响的数据库记录行数在这里如果成功插入一条记录一般返回值为1将其打印输出以便查看添加操作是否成功执行。
recordNumber = trainService.add(train);
System.out.println(recordNumber);
} catch (Exception e) {
// 如果在执行添加操作过程中出现任何异常比如数据库连接失败、SQL语法错误、违反数据库约束等情况
// 则通过e.printStackTrace()打印异常的栈追踪信息,方便开发人员排查问题所在,确定是哪部分代码导致了异常出现。
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServiceadd
*/
@Test
public void testBatchAdd() {
for (int i = 1; i <= 300; i++) {
Train train = new Train();
train.setTrainNumber("K3" + i);
train.setStartStation("北京" + i);
train.setEndStation("天津" + i);
train.setStartTime("2020-01-01 15:30:00");
train.setEndTime("2020-01-02 16:50:00");
train.setPrice(200 + i);
train.setSeatNumber(1000 + i);
// 获取当前系统时间并转换为Timestamp类型用于设置每条列车信息的添加时间原理与testAdd方法中时间设置部分相同都是记录数据录入的时间点。
// 同样有两种获取Timestamp的方式这里采用直接获取时间戳构造Timestamp对象的方式注释掉的另一种方式不再赘述。
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// Timestamp addTime = Timestamp.valueOf(sdf.format(new Date()));
Timestamp addTime = new Timestamp(new Date().getTime());
train.setAddTime(addTime);
int recordNumber = 0;
try {
// 每次循环都调用trainService的add方法将当前创建的Train对象代表的列车信息添加到数据库中
// 并打印每次添加操作返回的记录数,通过查看这些返回值可以了解每条记录是否成功插入数据库,以及插入过程中是否有异常情况。
recordNumber = trainService.add(train);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
}
/**
* @TestJUnitID
* trainServicedeleteID
*/
@Test
public void testDelete() {
try {
// 调用trainService的delete方法该方法实现了根据给定的列车ID在数据库中查找并删除对应列车记录的逻辑
// 其内部会构建相应的SQL删除语句处理数据库连接以及执行删除操作等相关事宜。
// 传入的参数5是要删除的列车记录在数据库中的唯一标识ID这里硬编码仅为测试示例实际应用中可能通过用户输入或其他业务逻辑获取具体要删除的ID值。
// 返回值recordNumber通常表示受影响的数据库记录行数若成功删除对应的列车记录返回值一般为1若数据库中不存在该ID对应的记录则返回值为0。
// 将返回的recordNumber打印输出便于查看删除操作是否成功执行。
int recordNumber = trainService.delete(5);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* TraintrainServiceupdate
*/
@Test
public void testUpdate() {
Train train = new Train();
// 设置要更新的列车记录在数据库中的唯一标识ID此处设置为18代表要更新的是数据库中ID为18的列车记录
// 通过这个ID可以准确找到对应的列车信息行进行更新操作实际应用中该值应根据具体业务需求来确定。
train.setTrainId(18);
train.setTrainNumber("XXX11");
train.setStartStation("北京");
train.setEndStation("天津");
train.setStartTime("2019-09-01 15:30:00");
train.setEndTime("2019-09-01 16:50:00");
train.setPrice(200);
train.setSeatNumber(1000);
// 以下代码原本用于设置更新时间与添加时间类似的处理方式获取Timestamp但此处被注释掉了可能是根据业务需求不需要更新该字段或者在其他地方统一处理更新时间。
// Timestamp addTime = new Timestamp(new Date().getTime());
// train.setAddTime(addTime);
try {
// 调用trainService的update方法该方法实现了根据传入的Train对象所携带的更新信息
// 在数据库中查找并更新对应ID的列车记录的逻辑例如构建合适的SQL更新语句、处理数据库连接以及执行更新操作等。
// 返回值recordNumber通常表示受影响的数据库记录行数若成功更新对应的列车记录返回值一般为1若数据库中不存在该ID对应的记录则返回值为0。
// 将返回的recordNumber打印输出便于查看更新操作是否成功执行。
int recordNumber = trainService.update(train);
System.out.println(recordNumber);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServicegetAll
*/
@Test
public void testGetAll() {
try {
// 调用trainService的getAll方法该方法实现了从数据库中查询并获取所有列车记录的逻辑
// 内部会构建相应的SQL查询语句执行查询操作并将结果封装为Train对象列表返回。
List<Train> list = trainService.getAll();
for (Train train : list) {
// 遍历获取到的列车信息列表通过调用train的toString方法将每条列车信息以字符串形式打印输出
// toString方法通常会按照一定格式展示列车对象的各个属性信息方便查看查询结果的具体内容。
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnitID
* IDtrainServicegetByIdID
*/
@Test
public void testGetById() {
try {
// 定义要查询的列车记录在数据库中的唯一标识ID这里设置为2代表要获取ID为2的列车信息仅为测试示例实际应用中可根据具体业务场景获取相应的ID值。
Integer trainId = 2;
// 调用trainService的getById方法该方法实现了根据传入的列车ID在数据库中查找并获取对应列车记录的逻辑
// 内部会构建合适的SQL查询语句执行查询操作并将查询到的列车信息封装为Train对象返回。
Train train = trainService.getById(trainId);
// 打印输出获取到的列车信息通过调用train的toString方法将列车对象的各个属性以字符串形式展示出来方便查看查询结果。
System.out.println(train.toString());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServicegetByTrainNumber
*/
@Test
public void testGetByTrainNumber() {
try {
// 定义要查询的列车车次编号,这里设置为"XXX11",代表要获取车次编号为"XXX11"的列车信息,仅为测试示例,实际应用中根据具体业务场景传入相应的车次编号值。
String trainNumber = "XXX11";
// 调用trainService的getByTrainNumber方法该方法实现了根据传入的列车车次编号在数据库中查找并获取对应列车记录的逻辑
// 可能会构建类似模糊查询如果支持模糊查询的话或精确查询的SQL语句执行查询操作并将查询到的列车信息封装为Train对象列表返回。
List<Train> list = trainService.getByTrainNumber(trainNumber);
for (Train train : list) {
// 遍历获取到的列车信息列表通过调用train的toString方法将每条列车信息以字符串形式打印输出方便查看查询到的符合条件的列车记录内容。
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServicegetByStartEndStation
*/
@Test
public void testGetByStartEndStation() {
try {
// 调用trainService的getByStartEndStation方法传入列车的起始站名称这里设置为"上海")、终点站名称(设置为"广州")以及出发日期(设置为"2019-09-01"
// 该方法内部会构建相应的SQL查询语句根据这些条件在数据库中筛选出符合要求的列车记录执行查询操作并将查询到的列车信息封装为Train对象列表返回。
List<Train> list = trainService.getByStartEndStation("上海", "广州", "2019-09-01");
for (Train train : list) {
// 遍历获取到的列车信息列表通过调用train的toString方法将每条列车信息以字符串形式打印输出方便查看查询到的符合条件的列车记录详细内容。
System.out.println(train.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServicegetAllStartStation
*/
@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) {
e.printStackTrace();
}
}
/**
* @TestJUnit
* trainServicegetAllEndStation
*/
@Test
public void testGetAllEndStation() {
try {
// 调用trainService的getAllEndStation方法该方法实现了从数据库中查询并获取所有列车记录的终点站名称的逻辑
// 内部会构建相应的SQL查询语句执行查询操作并将查询到的终点站名称封装为列表返回每个元素对应一条列车记录的终点站名称。
List<Train> list = trainService.getAllEndStation();
for (Train train : list) {
//
Loading…
Cancel
Save