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

文章目录

  • 七、实现步骤
    • (六)创建数据访问接口实现类
      • 1、创建学校数据访问接口实现类
      • 单元测试:对CollegeDaoImpl进行单元测试
        • (1)编写测试方法testFindById()
        • (2)编写测试方法testUpdate()
        • (3)同时运行多个测试方法
        • (4)修改完善测试代码
      • 2、创建状态数据访问接口实现类
      • 单元测试:对StatusDaoImpl进行单元测试
        • (1)编写测试方法testFindById()
        • (2)编写测试方法testUpdate()
      • 3、学生数据访问接口实现类
      • 单元测试:对StudentDaoImpl进行单元测试
        • (1)编写测试方法testInsert()
        • (2)编写测试方法testDeleteById()
        • (3)编写测试方法testDeleteByClass()
        • (4)编写测试方法testFindByName()
        • (5)编写测试方法testFindAll()
        • (6)编写测试方法testFindRowsBySex()
      • 独立完成剩余方法的测试任务
        • (1)编写测试方法testDeleteByDepartment()
        • (2)编写测试方法testUpdate()
        • (3)编写测试方法testFindById()
        • (4)编写测试方法testFindByClass()
        • (5)编写测试方法testFindByDepartment()
        • (6)编写测试方法testFindRowsByClass()
        • (7)编写测试方法testFindRowsByDepartment()
      • 4、创建用户数据访问接口实现类
      • 单元测试:对UserDaoImpl进行单元测试
        • (1)编写测试方法testFindById()
        • (2)编写测试方法testLogin()
        • (3)编写测试方法testIsUsernameExisted()
        • (4)编写测试方法testInsert()
      • 独立完成剩余方法的测试任务
        • (1)编写测试方法testDeleteById()
        • (2)编写测试方法testUpdate()
        • (3)编写测试方法testFindAll()

七、实现步骤

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

  • net.hw.student.dao包里创建impl子包,然后在里面创建四个数据访问接口的实现类。
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第1张图片

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

  • 创建学校数据访问接口实现类CollegeDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第2张图片
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第3张图片
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第4张图片

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

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

  • 在根包net.hw.student里创建test子包,在里面创建测试类TestCollegeDaoImpl

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

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

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

  • 给testFindById()添加测试注解符
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第7张图片
  • 将单元测试JUnit4添加到类路径,才能使用测试注解符@Test
  • 将鼠标移到@Test,按+组合键,弹出快捷菜单,选择第一项Add 'JUnit4' to classpath
  • 执行单元测试方法testFindById()
  • 查看添加到类路径的JUnit4
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第8张图片
  • 编写单元测试方法testFindById()代码
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第9张图片
  • 运行测试方法testFindById(),查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第10张图片

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

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

  • 运行测试方法testUpdate(),查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第12张图片
    由此可见,CollegeDaoImpl的两个方法都通过了单元测试,其实多个测试方法可以一起进行测试,这样做测试效率更高。

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

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

(4)修改完善测试代码

  • 两个测试方法的第一行代码都是一样的,因此可以提取出来
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第14张图片
  • 在每个单元测试之前都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@Before即可。
  • 在每个单元测试之后都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@After即可。
  • 添加测试前与测试后要执行的代码
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第15张图片
  • 运行测试方法testFindById(),查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第16张图片
  • 运行测试方法testUpdate(),查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第17张图片

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

  • 创建状态数据访问接口实现类StatusDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第18张图片
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第19张图片

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

  • 在net.hw.student.test包里创建测试类TestStatusDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第20张图片

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

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

  • 运行testFindById()方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第22张图片

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

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

  • 运行testUpdate()方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第24张图片
  • 有些同学,在测试更新方法时,抛出MySQLSyntaxErrorException,如下图所示:
    在这里插入图片描述
    要学会看错误提示信息,这对于我们开发程序相当重要,提示在telephone = '13845456780’附近存在MySQL句法错误,因此,我们要去看源码进行调试,解决这个错误。
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第25张图片

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

  • 学生数据访问接口实现类StudentDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第26张图片

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

  • 在net.hw.student.test包里创建测试类TestStudentDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第27张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第29张图片
  • 可以打开数据表,查看插入的新记录
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第30张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第32张图片
  • 打开数据表,查看先前插入的记录【张晓慧】是否被删除
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第33张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第35张图片
  • 同学们,不妨打开学生表,查看是否删除成功
  • 打开NaviCat,运行student.sql脚本,恢复数据。
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第36张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第38张图片
  • 修改待查学生的姓名
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第39张图片
  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 查找所有姓“李”的学生记录,修改查找目标
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第40张图片
  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第41张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第43张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第45张图片

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

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

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

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

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

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

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

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

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

  • 创建用户数据访问接口实现类UserDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第46张图片
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第47张图片

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

  • 在net.hw.student.test包里创建测试类TestUserDaoImpl
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第48张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第50张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第52张图片
  • 修改用户名和密码
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第53张图片
  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第54张图片

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

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

  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第56张图片
  • 修改用户名,改成用户表里有的用户名【王霞】
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第57张图片
  • 运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第58张图片

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

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

  • 运行该测试方法,查看结果
    在这里插入图片描述
  • 再次运行该测试方法,查看结果
    Java实训项目10:GUI学生信息管理系统 - 实现步骤 - 创建数据访问接口实现类_第60张图片
  • 因为不允许同名用户插入,所以用户记录插入失败。

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

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

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

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

你可能感兴趣的:(Java程序设计基础)