diff --git a/ticketing-master/src/com/cn/test/MemberDaoTest.java b/ticketing-master/src/com/cn/test/MemberDaoTest.java index c652259..6b78dda 100644 --- a/ticketing-master/src/com/cn/test/MemberDaoTest.java +++ b/ticketing-master/src/com/cn/test/MemberDaoTest.java @@ -7,22 +7,56 @@ import com.cn.dao.impl.MemberDaoImpl; import com.cn.domain.Member; import com.cn.util.DateUtil; +/** + * 这个类是 `MemberDao`(数据访问对象,用于操作与会员相关的数据)的测试类, + * 通过在 `main` 方法中调用 `MemberDao` 实现类 `MemberDaoImpl` 的不同方法, + * 来测试对会员数据进行添加、删除、查询等数据库操作的功能是否能正常执行, + * 若出现 `SQLException` 异常(比如数据库连接问题、SQL语法错误等情况)则会进行相应的异常处理。 + */ public class MemberDaoTest { - public static void main(String[] args) { - MemberDao memberDao = new MemberDaoImpl(); - //Member member = new Member("ljy","123456",DateUtil.now(),0,DateUtil.now()); - try { -// System.out.println(memberDao.add(member)); -// System.out.println(memberDao.delete(2)); - for(Member member2:memberDao.getAll()) { - System.out.println(member2); - } -// System.out.println(memberDao.getMemberById(2)); - System.out.println(memberDao.getMemberByName("lisi")); - } catch (SQLException e) { - e.printStackTrace(); - } - } - -} + public static void main(String[] args) { + // 创建 `MemberDao` 接口的具体实现类 `MemberDaoImpl` 的实例, + // 通过该实例来调用 `MemberDao` 中定义的各种操作会员数据的方法,如添加、删除、查询等。 + MemberDao memberDao = new MemberDaoImpl(); + + // 以下这行代码被注释掉了,原本可能是用于创建一个新的 `Member` 对象, + // 并通过构造函数传入会员的相关信息(用户名、密码、注册时间、某个计数值以及可能的更新时间等,具体要看 `Member` 类的构造函数定义), + // 然后将该对象作为参数传递给 `memberDao.add` 方法来尝试向数据库中添加会员信息,当前注释掉意味着暂不执行添加操作的测试。 + // Member member = new Member("ljy","123456",DateUtil.now(),0,DateUtil.now()); + + try { + // 以下这行代码被注释掉了,若取消注释,会调用 `memberDao.add` 方法,将前面创建的 `Member` 对象(如果取消上面的注释创建了对象的话)传递进去, + // 尝试向数据库中插入一条新的会员记录,`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(); + } + } +} \ No newline at end of file