Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类

文章目录

七、实现步骤

(六)创建数据访问接口实现类

  • net.hw.student.dao包里创建impl子包,然后在里面创建四个数据访问接口的实现类。
    在这里插入图片描述

1、创建学校数据访问接口实现类

  • 创建学校数据访问接口实现类CollegeDaoImpl
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

单元测试:对CollegeDaoImpl进行单元测试

为了确保Dao层给上层提供正确的数据操作服务,应该进行单元测试,本项目采用JUnit4单元测试框架。

  • 在根包net.hw.student里创建test子包,在里面创建测试类TestCollegeDaoImpl
    在这里插入图片描述
    在这里插入图片描述

(1)编写测试方法testFindById()

在这里插入图片描述

  • 给testFindById()添加测试注解符
    在这里插入图片描述
  • 将单元测试JUnit4添加到类路径,才能使用测试注解符@Test
  • 将鼠标移到@Test,按<Alt>+<Enter>组合键,弹出快捷菜单,选择第一项Add 'JUnit4' to classpath
  • 执行单元测试方法testFindById()
    在这里插入图片描述
  • 查看添加到类路径的JUnit4
    在这里插入图片描述
  • 编写单元测试方法testFindById()代码
    在这里插入图片描述
  • 运行测试方法testFindById(),查看结果
    在这里插入图片描述

(2)编写测试方法testUpdate()

在这里插入图片描述

  • 运行测试方法testUpdate(),查看结果
    在这里插入图片描述
    由此可见,CollegeDaoImpl的两个方法都通过了单元测试,其实多个测试方法可以一起进行测试,这样做测试效率更高。

(3)同时运行多个测试方法

在这里插入图片描述

(4)修改完善测试代码

  • 两个测试方法的第一行代码都是一样的,因此可以提取出来
    在这里插入图片描述
  • 在每个单元测试之前都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@Before即可。
  • 在每个单元测试之后都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@After即可。
  • 添加测试前与测试后要执行的代码
    在这里插入图片描述
  • 运行测试方法testFindById(),查看结果
    在这里插入图片描述
  • 运行测试方法testUpdate(),查看结果
    在这里插入图片描述

2、创建状态数据访问接口实现类

  • 创建状态数据访问接口实现类StatusDaoImpl
    在这里插入图片描述
    在这里插入图片描述

单元测试:对StatusDaoImpl进行单元测试

  • 在net.hw.student.test包里创建测试类TestStatusDaoImpl
    在这里插入图片描述

(1)编写测试方法testFindById()

在这里插入图片描述

  • 运行testFindById()方法,查看结果
    在这里插入图片描述

(2)编写测试方法testUpdate()

在这里插入图片描述

  • 运行testUpdate()方法,查看结果
    在这里插入图片描述
  • 有些同学,在测试更新方法时,抛出MySQLSyntaxErrorException,如下图所示:
    在这里插入图片描述
    要学会看错误提示信息,这对于我们开发程序相当重要,提示在telephone = '13845456780’附近存在MySQL句法错误,因此,我们要去看源码进行调试,解决这个错误。
    在这里插入图片描述

3、学生数据访问接口实现类

  • 学生数据访问接口实现类StudentDaoImpl
    在这里插入图片描述
    在这里插入图片描述

单元测试:对StudentDaoImpl进行单元测试

  • 在net.hw.student.test包里创建测试类TestStudentDaoImpl
    在这里插入图片描述

(1)编写测试方法testInsert()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 可以打开数据表,查看插入的新记录
    在这里插入图片描述

(2)编写测试方法testDeleteById()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 打开数据表,查看先前插入的记录【张晓慧】是否被删除
    在这里插入图片描述

(3)编写测试方法testDeleteByClass()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 同学们,不妨打开学生表,查看是否删除成功
  • 打开NaviCat,运行student.sql脚本,恢复数据。
    在这里插入图片描述

(4)编写测试方法testFindByName()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 修改待查学生的姓名
    在这里插入图片描述
  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 查找所有姓“李”的学生记录,修改查找目标
    在这里插入图片描述
  • 运行该测试方法,查看结果
    在这里插入图片描述

(5)编写测试方法testFindAll()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述

(6)编写测试方法testFindRowsBySex()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述

独立完成剩余方法的测试任务

(1)编写测试方法testDeleteByDepartment()

(2)编写测试方法testUpdate()

(3)编写测试方法testFindById()

(4)编写测试方法testFindByClass()

(5)编写测试方法testFindByDepartment()

(6)编写测试方法testFindRowsByClass()

(7)编写测试方法testFindRowsByDepartment()

4、创建用户数据访问接口实现类

  • 创建用户数据访问接口实现类UserDaoImpl
    在这里插入图片描述
    在这里插入图片描述

单元测试:对UserDaoImpl进行单元测试

  • 在net.hw.student.test包里创建测试类TestUserDaoImpl
    在这里插入图片描述

(1)编写测试方法testFindById()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述

(2)编写测试方法testLogin()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 修改用户名和密码
    在这里插入图片描述
  • 运行该测试方法,查看结果
    在这里插入图片描述

(3)编写测试方法testIsUsernameExisted()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 修改用户名,改成用户表里有的用户名【王霞】
    在这里插入图片描述
  • 运行该测试方法,查看结果
    在这里插入图片描述

(4)编写测试方法testInsert()

在这里插入图片描述

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 再次运行该测试方法,查看结果
    在这里插入图片描述
  • 因为不允许同名用户插入,所以用户记录插入失败。

独立完成剩余方法的测试任务

(1)编写测试方法testDeleteById()

(2)编写测试方法testUpdate()

(3)编写测试方法testFindAll()

猜你喜欢

转载自blog.csdn.net/howard2005/article/details/106572501