|
|
@ -7,22 +7,56 @@ import com.cn.dao.impl.MemberDaoImpl;
|
|
|
|
import com.cn.domain.Member;
|
|
|
|
import com.cn.domain.Member;
|
|
|
|
import com.cn.util.DateUtil;
|
|
|
|
import com.cn.util.DateUtil;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
|
|
* 这个类是 `MemberDao`(数据访问对象,用于操作与会员相关的数据)的测试类,
|
|
|
|
|
|
|
|
* 通过在 `main` 方法中调用 `MemberDao` 实现类 `MemberDaoImpl` 的不同方法,
|
|
|
|
|
|
|
|
* 来测试对会员数据进行添加、删除、查询等数据库操作的功能是否能正常执行,
|
|
|
|
|
|
|
|
* 若出现 `SQLException` 异常(比如数据库连接问题、SQL语法错误等情况)则会进行相应的异常处理。
|
|
|
|
|
|
|
|
*/
|
|
|
|
public class MemberDaoTest {
|
|
|
|
public class MemberDaoTest {
|
|
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
public static void main(String[] args) {
|
|
|
|
MemberDao memberDao = new MemberDaoImpl();
|
|
|
|
// 创建 `MemberDao` 接口的具体实现类 `MemberDaoImpl` 的实例,
|
|
|
|
//Member member = new Member("ljy","123456",DateUtil.now(),0,DateUtil.now());
|
|
|
|
// 通过该实例来调用 `MemberDao` 中定义的各种操作会员数据的方法,如添加、删除、查询等。
|
|
|
|
try {
|
|
|
|
MemberDao memberDao = new MemberDaoImpl();
|
|
|
|
// System.out.println(memberDao.add(member));
|
|
|
|
|
|
|
|
// System.out.println(memberDao.delete(2));
|
|
|
|
// 以下这行代码被注释掉了,原本可能是用于创建一个新的 `Member` 对象,
|
|
|
|
for(Member member2:memberDao.getAll()) {
|
|
|
|
// 并通过构造函数传入会员的相关信息(用户名、密码、注册时间、某个计数值以及可能的更新时间等,具体要看 `Member` 类的构造函数定义),
|
|
|
|
System.out.println(member2);
|
|
|
|
// 然后将该对象作为参数传递给 `memberDao.add` 方法来尝试向数据库中添加会员信息,当前注释掉意味着暂不执行添加操作的测试。
|
|
|
|
}
|
|
|
|
// Member member = new Member("ljy","123456",DateUtil.now(),0,DateUtil.now());
|
|
|
|
// System.out.println(memberDao.getMemberById(2));
|
|
|
|
|
|
|
|
System.out.println(memberDao.getMemberByName("lisi"));
|
|
|
|
try {
|
|
|
|
} catch (SQLException e) {
|
|
|
|
// 以下这行代码被注释掉了,若取消注释,会调用 `memberDao.add` 方法,将前面创建的 `Member` 对象(如果取消上面的注释创建了对象的话)传递进去,
|
|
|
|
e.printStackTrace();
|
|
|
|
// 尝试向数据库中插入一条新的会员记录,`memberDao.add` 方法内部会构建合适的SQL插入语句,与数据库建立连接并执行插入操作,
|
|
|
|
}
|
|
|
|
// 该方法返回值通常表示受影响的数据库记录行数,在成功插入一条记录的情况下,一般返回值为1,这里将其打印输出以查看添加操作是否成功执行。
|
|
|
|
}
|
|
|
|
// System.out.println(memberDao.add(member));
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
// 以下这行代码被注释掉了,若取消注释,会调用 `memberDao.delete` 方法,并传入会员的标识(这里传入硬编码值2,代表要删除的会员记录的ID,仅作为测试示例,实际应用中应根据具体业务需求获取要删除的会员ID),
|
|
|
|
|
|
|
|
// 该方法内部会构建相应的SQL删除语句,在数据库中查找并删除对应的会员记录,处理数据库连接以及执行删除操作等相关事宜,
|
|
|
|
|
|
|
|
// 返回值通常表示受影响的数据库记录行数,若成功删除对应的会员记录,返回值一般为1;若数据库中不存在该ID对应的记录,则返回值为0,
|
|
|
|
|
|
|
|
// 将返回的结果打印输出,便于查看删除操作是否按预期成功执行。
|
|
|
|
|
|
|
|
// System.out.println(memberDao.delete(2));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 调用 `memberDao.getAll` 方法,该方法会构建相应的SQL查询语句,从数据库中获取所有的会员记录,
|
|
|
|
|
|
|
|
// 并将查询到的会员信息封装为 `Member` 对象列表返回,然后通过循环遍历该列表,将每个 `Member` 对象打印输出,
|
|
|
|
|
|
|
|
// 以此来查看查询所有会员信息的功能是否能正确执行,查看返回的会员信息是否符合预期。
|
|
|
|
|
|
|
|
for (Member member2 : memberDao.getAll()) {
|
|
|
|
|
|
|
|
System.out.println(member2);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 以下这行代码被注释掉了,若取消注释,会调用 `memberDao.getMemberById` 方法,并传入会员的标识(这里传入硬编码值2,代表要获取的会员记录的ID,仅作为测试示例,实际应用中根据具体业务场景传入相应会员ID),
|
|
|
|
|
|
|
|
// 该方法内部会构建合适的SQL查询语句,根据传入的会员ID在数据库中查找并获取对应会员记录,将查询到的会员信息封装为 `Member` 对象返回,
|
|
|
|
|
|
|
|
// 以便后续进行展示或其他处理,这里将返回的 `Member` 对象打印输出,便于查看按ID查询会员信息的功能是否正确执行。
|
|
|
|
|
|
|
|
// System.out.println(memberDao.getMemberById(2));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 调用 `memberDao.getMemberByName` 方法,并传入会员名称 "lisi"(这里是硬编码示例,实际应用中根据具体业务场景传入相应会员名称),
|
|
|
|
|
|
|
|
// 该方法内部会构建相应的SQL查询语句(可能是根据名称进行模糊查询或者精确查询等,具体看实现逻辑),在数据库中查找并获取名称匹配的会员记录,
|
|
|
|
|
|
|
|
// 将查询到的会员信息封装为 `Member` 对象返回,这里将返回的 `Member` 对象打印输出,便于查看按名称查询会员信息的功能是否能正确执行。
|
|
|
|
|
|
|
|
System.out.println(memberDao.getMemberByName("lisi"));
|
|
|
|
|
|
|
|
} catch (SQLException e) {
|
|
|
|
|
|
|
|
// 如果在执行上述数据库操作(如查询所有会员、按名称查询会员等操作)的过程中出现了 `SQLException` 异常,
|
|
|
|
|
|
|
|
// 通过 `e.printStackTrace()` 方法打印异常的栈追踪信息,方便开发人员排查问题所在,确定是哪部分代码或者数据库相关配置导致了异常的出现。
|
|
|
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|