java创建接口类步骤_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子包,然后在里面创建四个数据访问接口的实现类。

d59a8f7165ac3eb8a95ad90fed22f271.png

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

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

2c4ee0be382e6e2144dd2c3d91d9f087.png

12a24b1d0eedd34a9d9d43d50f4d7784.png

0e9d900d8cb7930a877c272d867c57df.png

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

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

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

18029d58c5360d526d09f37bf42b23e1.png

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

f68a8e384696f7746b73fe568232faac.png

给testFindById()添加测试注解符

04c832158b640745a66ebf1ff83ab608.png

将单元测试JUnit4添加到类路径,才能使用测试注解符@Test

将鼠标移到@Test,按+组合键,弹出快捷菜单,选择第一项Add 'JUnit4' to classpath

执行单元测试方法testFindById()

查看添加到类路径的JUnit4

2e8a642f161d62ec2a9f0edb3eee4029.png

编写单元测试方法testFindById()代码

551eb4f519b5f357bd3a50862486c496.png

运行测试方法testFindById(),查看结果

75626e16beaa71ed538ab7ac0b3b9b2a.png

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

234c594c6381622014c644fef9502346.png

运行测试方法testUpdate(),查看结果

2d2769224816d10b4e9ccf1d7fd1fc06.png

由此可见,CollegeDaoImpl的两个方法都通过了单元测试,其实多个测试方法可以一起进行测试,这样做测试效率更高。

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

7698709e6ecdff2bfca54c664a633ceb.png

(4)修改完善测试代码

两个测试方法的第一行代码都是一样的,因此可以提取出来

0596546760a82d0db158dd0cb791ab15.png

在每个单元测试之前都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@Before即可。

在每个单元测试之后都要执行的代码,我们可以将代码放在一个方法里面,但是加上一个注解符@After即可。

添加测试前与测试后要执行的代码

c01f28ca13ba30796a67e60ba352e616.png

运行测试方法testFindById(),查看结果

31cc9cbf0f7ecd4af6a259bb6c272257.png

运行测试方法testUpdate(),查看结果

749005e3ee08ab097db69bccf9db9ff5.png

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

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

189e6fac31d43b826fd120f5d0532389.png

d82503bd50ad54e49765dcc0e0ac8145.png

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

在net.hw.student.test包里创建测试类TestStatusDaoImpl

ff444d42d819a8e3aa5dd5b4eda5701a.png

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

39b425cd690cd87d4ea22d2d07736cec.png

运行testFindById()方法,查看结果

3b60f4588593921271678a594cd9218e.png

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

aede088ba92a520886422d6bf5fb8809.png

运行testUpdate()方法,查看结果

e82031310078ea66a8e0b49ec490bd89.png

有些同学,在测试更新方法时,抛出MySQLSyntaxErrorException,如下图所示:

440a7fff208b5076451bf1f3985ff4fb.png

要学会看错误提示信息,这对于我们开发程序相当重要,提示在telephone = '13845456780’附近存在MySQL句法错误,因此,我们要去看源码进行调试,解决这个错误。

4835a3e7008900eea832e5bb9a28c00e.png

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

学生数据访问接口实现类StudentDaoImpl

3729f3f52ca68254c32ca27a320bd000.png

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

在net.hw.student.test包里创建测试类TestStudentDaoImpl

7fb06e7352a3c4d83fa7d2e743c332e9.png

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

a7f80862778f9528cd193f01056659f2.png

运行该测试方法,查看结果

9d401e9f3c22466fc2e00e65c9add123.png

可以打开数据表,查看插入的新记录

c161a494074995044aeee5cbd952ea8f.png

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

45565c2df0e81b486a891f5100a0ad0d.png

运行该测试方法,查看结果

9c24f78515d7c15d18bc51299ca0aa93.png

打开数据表,查看先前插入的记录【张晓慧】是否被删除

8ba2ff8a5bfa0d63d8469213512a626f.png

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

a30d3c87b8b6119d43618a58efb43222.png

运行该测试方法,查看结果

581fc8e89e6009195b874737c688b188.png

同学们,不妨打开学生表,查看是否删除成功

打开NaviCat,运行student.sql脚本,恢复数据。

b82a04bc5e1f03c4476a5ad20366198e.png

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

44168e4d55daa606c1a52abe63d74afd.png

运行该测试方法,查看结果

8fe0977522060070cde78e83e33bb7cc.png

修改待查学生的姓名

b406251d9318bd7e6bd3d891cec29b67.png

运行该测试方法,查看结果

4d00a06fb79ac8151b2ba01e4a94075b.png

查找所有姓“李”的学生记录,修改查找目标

0efb609213f7c26720416efb29d25ece.png

运行该测试方法,查看结果

8b84c529a19ebb8e6b8e23a720d7317d.png

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

31a01f89505ad95120cec46e09d59f26.png

运行该测试方法,查看结果

94a92d664a2b29fad520885792419db8.png

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

38555e820c5aaf8fa527b109bcbce57c.png

运行该测试方法,查看结果

c279d0040ed68845a62e224731ea88df.png

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

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

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

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

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

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

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

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

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

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

d0995e3af23924db73e24c149737b428.png

28143ed53cde0048d584c7e3004a0a03.png

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

在net.hw.student.test包里创建测试类TestUserDaoImpl

09bcaebc90aea2a22260eb58ff7092ba.png

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

e198e5dbbf8a8a8c3b600237647fccea.png

运行该测试方法,查看结果

8b6a3d98e0b20b4511e616cbd73b50f4.png

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

f08230c5813659043de427434b5530d8.png

运行该测试方法,查看结果

3defad8e9faeabdda880bc9faca62dcd.png

修改用户名和密码

e667bba4d5432eede054438fd0137789.png

运行该测试方法,查看结果

fbb0b8c447832299ddd5f46ace73a1f8.png

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

a6fcbb3569a2cf76ea03cc684c1343d4.png

运行该测试方法,查看结果

4b4da6d66d76b8916fdfb99ab8b07e48.png

修改用户名,改成用户表里有的用户名【王霞】

cd7f3ca816281b29261930e2598c9396.png

运行该测试方法,查看结果

e30a4823c35eefdbf9f47d1c56279cfe.png

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

c5175477d8bbfc1333d2bce37429121e.png

运行该测试方法,查看结果

f6044cf2c5d1984c14a468935270a74e.png

再次运行该测试方法,查看结果

71bcd2817818bba457e358ddb843324a.png

因为不允许同名用户插入,所以用户记录插入失败。

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

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

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

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值