Update PrepDaoTest.java

pull/1/head
pw6qtp7hv 8 months ago
parent e4090daf79
commit fbda40a244

@ -1,6 +1,5 @@
package com.cn.test; package com.cn.test;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Date; import java.util.Date;
@ -14,130 +13,232 @@ import com.cn.domain.Prep;
/** /**
* *
* @ClassName: PrepDaoTest * @ClassName: PrepDaoTest
* @Description: PrepDao * @Description: PrepDao访PrepDao
*
* PrepDao
* @author: ljy * @author: ljy
* @date: 2019916 10:52:47 * @date: 2019916 10:52:47
*/ */
public class PrepDaoTest { public class PrepDaoTest {
PrepDao prepDao = new PrepDaoImpl(); // 创建PrepDao接口的具体实现类PrepDaoImpl的实例后续将通过该实例调用PrepDao中定义的各个数据库操作方法
// 来测试不同的预订信息相关的数据库操作功能。
@Test PrepDao prepDao = new PrepDaoImpl();
public void testAdd() {
Prep prep = new Prep(); /**
prep.setTrainId(4); * @TestJUnit
prep.setPmemberId(2); * PrepprepDaoadd
prep.setStartStation("上海"); * SQLException便
prep.setEndStation("北京"); */
prep.setTrainNumber("K113"); @Test
prep.setStartTime("2019-09-01 15:30:00"); public void testAdd() {
prep.setEndTime("2019-09-01 16:40:00"); // 创建一个Prep对象该对象用于封装要添加到数据库中的预订信息其各个属性对应数据库中预订信息表的不同字段。
prep.setPrice(200); Prep prep = new Prep();
prep.setWay(false); // 设置预订信息关联的列车ID这里设置为4代表预订的是数据库中ID为4的列车对应的车次实际应用中该值应根据业务逻辑确定。
Timestamp booktime = new Timestamp(new Date().getTime()); prep.setTrainId(4);
prep.setBooktime(booktime); // 设置预订信息关联的会员乘客ID此处设为2表明是哪位会员进行的预订同样需根据实际业务情况来确定该值。
prep.setPmemberId(2);
try { // 设置列车的起始站名称,将其设置为"上海",表示预订的列车出发站点。
int recordNumber = prepDao.add(prep); prep.setStartStation("上海");
System.out.println(recordNumber); // 设置列车的终点站名称,此处设为"北京",代表预订的列车最终到达的站点。
} catch (SQLException e) { prep.setEndStation("北京");
e.printStackTrace(); // 设置列车的车次编号,这里将其设置为"K113",是一个示例车次,需符合实际车次命名规则和业务要求。
} prep.setTrainNumber("K113");
} // 设置列车的出发时间,采用"yyyy-MM-dd HH:mm:00"格式的字符串来表示时间这里设置的具体时间为2019-09-01 15:30:00
// 该格式需与数据库中对应时间字段的存储格式相匹配,以确保能正确插入数据。
@Test prep.setStartTime("2019-09-01 15:30:00");
public void testDelete() { // 设置列车的到达时间,同样遵循"yyyy-MM-dd HH:mm:00"格式设置为2019-09-01 16:40:00用于表示列车预计到达终点站的时间。
try { prep.setEndTime("2019-09-01 16:40:00");
int recordNumber = prepDao.delete(2); // 设置列车的票价单位通常为某种货币单位比如人民币元这里设置为200仅作为测试用途的示例价格数值。
System.out.println(recordNumber); prep.setPrice(200);
} catch (SQLException e) { // 设置预订的某种状态这里不太明确具体含义从变量名way推测可能是预订方式之类的布尔值属性此处设为false具体取值根据业务定义来确定。
e.printStackTrace(); prep.setWay(false);
}
} // 获取当前系统时间并将其转换为Timestamp类型用于设置预订信息的预订时间即记录这条预订信息是什么时候创建的。
Timestamp booktime = new Timestamp(new Date().getTime());
@Test prep.setBooktime(booktime);
public void testUpdate() {
Prep prep = new Prep(); try {
prep.setPrepId(3); // 调用prepDao的add方法该方法在PrepDao接口中定义并由PrepDaoImpl类实现具体逻辑。
prep.setTrainId(4); // 其内部会构建合适的SQL插入语句与数据库建立连接然后将Prep对象所包含的预订信息插入到数据库对应的预订信息表中
prep.setPmemberId(2); // 返回值recordNumber通常表示受影响的数据库记录行数在成功插入一条记录的情况下一般返回值为1这里将其打印输出
prep.setStartStation("上海"); // 以便查看添加操作是否按预期成功执行如果出现SQLException异常比如数据库连接问题、SQL语法错误等情况则会进入catch块进行处理。
prep.setEndStation("北京洞窟"); int recordNumber = prepDao.add(prep);
prep.setTrainNumber("K113"); System.out.println(recordNumber);
prep.setStartTime("2019-19-01 15:30:00"); } catch (SQLException e) {
prep.setEndTime("2019-19-01 16:40:00"); // 如果在执行添加预订信息的操作过程中出现了SQLException异常
prep.setPrice(1200); // 通过e.printStackTrace()方法打印异常的栈追踪信息,方便开发人员排查问题所在,确定是哪部分代码或者数据库相关配置导致了异常的出现。
prep.setWay(true); e.printStackTrace();
}
try { }
int recordNumber = prepDao.update(prep);
System.out.println(recordNumber); /**
} catch (SQLException e) { * @TestJUnit
e.printStackTrace(); * prepDaodelete
} * SQLException便
} */
@Test
@Test public void testDelete() {
public void testGetAll() { try {
try { // 调用prepDao的delete方法该方法的具体实现位于PrepDaoImpl类中其内部会构建相应的SQL删除语句
List<Prep> list = prepDao.getAll(); // 根据传入的预订信息标识这里传入的硬编码值为2仅作为测试示例实际应用中应根据具体业务需求获取要删除的预订信息标识
for(Prep prep : list) { // 在数据库中查找并删除对应的预订记录,处理数据库连接以及执行删除操作等相关事宜。
System.out.println(prep.toString()); // 返回值recordNumber通常表示受影响的数据库记录行数若成功删除对应的预订记录返回值一般为1若数据库中不存在该标识对应的记录则返回值为0。
} // 将返回的recordNumber打印输出便于查看删除操作是否按预期成功执行。
} catch (SQLException e) { int recordNumber = prepDao.delete(2);
e.printStackTrace(); System.out.println(recordNumber);
} } catch (SQLException e) {
} e.printStackTrace();
}
@Test }
public void testGetPrepByPmemberId() {
try { /**
List<Prep> list = prepDao.getPrepByPmemberId(2); * @TestJUnit
for(Prep prep : list) { * PrepprepDaoupdate
System.out.println(prep.toString()); // 将这些更新内容应用到数据库中对应的预订记录上最后通过打印返回结果来查看更新操作是否成功执行若出现SQLException异常则打印异常栈信息方便排查问题。
} */
} catch (SQLException e) { @Test
e.printStackTrace(); public void testUpdate() {
} Prep prep = new Prep();
} // 设置要更新的预订记录在数据库中的唯一标识ID这里将其设置为3代表要更新的是数据库中ID为3的预订记录
// 通过这个ID可以准确找到对应的预订信息行进行更新操作实际应用中该值应根据具体业务需求来确定比如通过用户输入或者其他业务逻辑获取。
@Test prep.setPrepId(3);
public void testGetById() { prep.setTrainId(4);
try { prep.setPmemberId(2);
Integer prepId = 3; prep.setStartStation("上海");
Prep prep = prepDao.getById(prepId); // 设置更新后的终点站名称为"北京洞窟",这里可能是测试修改目的地等信息的情况,实际应用中应符合业务要求的合理站点名称。
System.out.println(prep.toString()); prep.setEndStation("北京洞窟");
} catch (SQLException e) { prep.setTrainNumber("K113");
e.printStackTrace(); // 此处设置的出发时间格式有误,应该是"yyyy-MM-dd HH:mm:00"格式,比如"2019-09-01 15:30:00",当前的"2019-19-01 15:30:00"不符合日期规范,可能导致数据库插入或更新失败,需修正。
} prep.setStartTime("2019-19-01 15:30:00");
} // 同样,此处到达时间格式也有误,应修正为正确的日期时间格式,如"2019-09-01 16:40:00"。
prep.setEndTime("2019-19-01 16:40:00");
/* // 设置更新后的票价为1200改变了预订的价格信息。
* private static JDBCUtil jdbcUtil = new JDBCUtil(); prep.setPrice(1200);
* // 设置更新后的预订状态way属性为true具体含义根据业务定义来确定。
* @Test public void test(){ prep.setWay(true);
*
* Connection conn = jdbcUtil.getConnection(); QueryRunner queryRunner = new try {
* QueryRunner(); // 调用prepDao的update方法该方法在PrepDao接口中定义并由PrepDaoImpl类实现具体更新逻辑
* // 其内部会根据传入的Prep对象所携带的更新信息在数据库中查找并更新对应ID的预订记录例如构建合适的SQL更新语句、
* Prep prep = new Prep(); prep.setTrainId(4); prep.setPmemberId(2); // 处理数据库连接以及执行更新操作等返回值recordNumber通常表示受影响的数据库记录行数若成功更新对应的预订记录返回值一般为1
* prep.setStartStation("上海"); prep.setEndStation("北京"); // 若数据库中不存在该ID对应的记录则返回值为0将返回的recordNumber打印输出便于查看更新操作是否按预期成功执行。
* prep.setTrainNumber("K113"); prep.setStartTime("2019-09-01 15:30:00"); int recordNumber = prepDao.update(prep);
* prep.setEndTime("2019-09-01 16:40:00"); prep.setPrice(200); System.out.println(recordNumber);
* prep.setWay(false); Timestamp booktime = new Timestamp(new Date().getTime()); } catch (SQLException e) {
* prep.setBooktime(booktime); e.printStackTrace();
* }
* }
* try { int recordNumber = queryRunner.update(conn,
* "insert into prep (trainid,pmemberid,startstation,endstation,trainnumber,starttime,endtime,price,way,booktime) values (?,?,?,?,?,?,?,?,?,?)" /**
* , prep.getTrainId(),prep.getPmemberId(),prep.getStartStation(),prep. * @TestJUnit
* getEndStation(),prep.getTrainNumber(),prep.getStartTime(),prep.getEndTime(), * prepDaogetAll
* prep.getPrice(),prep.isWay(),prep.getBooktime()); * SQLException便
* System.out.println(recordNumber); } catch (SQLException e) { // TODO */
* Auto-generated catch block e.printStackTrace(); } try { DbUtils.close(conn); @Test
* } catch (SQLException e) { // TODO Auto-generated catch block public void testGetAll() {
* e.printStackTrace(); } } try {
*/ // 调用prepDao的getAll方法该方法的具体实现位于PrepDaoImpl类中其内部会构建相应的SQL查询语句
// 执行查询操作从数据库的预订信息表中获取所有记录并将这些记录封装为Prep对象列表返回以便后续进行遍历和处理。
} List<Prep> list = prepDao.getAll();
for (Prep prep : list) {
// 遍历获取到的预订信息列表通过调用prep对象的toString方法将每条预订信息以字符串的形式打印输出
// toString方法通常会按照一定的格式展示预订对象的各个属性信息方便查看查询结果的具体内容了解所有预订的详细情况。
System.out.println(prep.toString());
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* @TestJUnitID
* IDprepDaogetPrepByPmemberId
* IDIDSQLException便
*/
@Test
public void testGetPrepByPmemberId() {
try {
// 调用prepDao的getPrepByPmemberId方法传入会员ID值2这里是硬编码示例实际应用中根据具体业务场景传入相应会员ID
// 该方法的具体实现位于PrepDaoImpl类中其内部会构建相应的SQL查询语句根据传入的会员ID在数据库中查找并获取该会员的所有预订记录
// 将查询到的预订信息封装为Prep对象列表返回以便后续遍历展示。
List<Prep> list = prepDao.getPrepByPmemberId(2);
for (Prep prep : list) {
// 遍历获取到的预订信息列表通过调用prep对象的toString方法将每条预订信息以字符串形式打印输出
// 方便查看查询到的符合条件的预订记录内容,确认是否获取到了期望的预订信息。
System.out.println(prep.toString());
}
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* @TestJUnitID
* IDprepDaogetById
* IDIDSQLException便
*/
@Test
public void testGetById() {
try {
// 定义要查询的预订记录在数据库中的唯一标识ID这里将其设置为3代表要获取ID为3的预订信息仅作为测试示例
// 实际应用中可根据具体业务场景通过合适的方式获取相应的预订信息ID值比如从用户输入、其他关联数据等途径获取。
Integer prepId = 3;
// 调用prepDao的getById方法该方法的具体实现位于PrepDaoImpl类中其内部会构建合适的SQL查询语句
// 根据传入的预订信息ID在数据库中查找并获取对应预订记录将查询到的预订信息封装为Prep对象返回以便后续进行展示或其他处理。
Prep prep = prepDao.getById(prepId);
// 打印输出获取到的预订信息通过调用prep对象的toString方法将预订对象的各个属性以字符串形式展示出来
// 方便查看查询结果,确认获取到的预订信息是否符合预期。
System.out.println(prep.toString());
} catch (SQLException e) {
e.printStackTrace();
}
}
/**
* 使JDBCUtilQueryRunner
* 便
*/
/*
private static JDBCUtil jdbcUtil = new JDBCUtil();
@Test
public void test() {
Connection conn = jdbcUtil.getConnection();
QueryRunner queryRunner = new QueryRunner();
Prep prep = new Prep();
prep.setTrainId(4);
prep.setPmemberId(2);
prep.setStartStation("上海");
prep.setEndStation("北京");
prep.setTrainNumber("K113");
prep.setStartTime("2019-09-01 15:30:00");
prep.setEndTime("2019-09-01 16:40:00");
prep.setPrice(200);
prep.setWay(false);
Timestamp booktime = new Timestamp(new Date().getTime());
prep.setBooktime(booktime);
try {
int recordNumber = queryRunner.update(conn,
"insert into prep (trainid,pmemberid,startstation,endstation,trainnumber,starttime,endtime,price,way,booktime) values (?,?,?,?,?,?,?,?,?,?)",
prep.getTrainId(), prep.getPmemberId(), prep.getStartStation(), prep.getEndStation(), prep.getTrainNumber(),
prep.getStartTime(), prep.getEndTime(), prep.getPrice(), prep.isWay(), prep.getBooktime());
System.out.println(recordNumber);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
DbUtils.close(conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
*/
}
Loading…
Cancel
Save