实训第三次主要是创建数据访问接口和数据访问接口实现类。本次实训主要是测试数据访问接口实现类(其实一个数据访问接口实现类编写完成就应该测试,尽早解决可能出现的问题,我的实现类和测试类也都是同时完成的,只不过个人习惯,分了两篇博客)
一、创建CollegeDaoImpl测试类TestCollegeDaoImpl
package net.dc.student.test;
import net.dc.student.bean.College;
import net.dc.student.dao.CollegeDao;
import net.dc.student.dao.impl.CollegeDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
/**
* 功能:CollegeDaoImpl接口实现类测试
* 作者:邓聪
* 日期:2020年07月03日
*/
public class TestCollegeDaoImpl {
CollegeDao dao = new CollegeDaoImpl();
@Before
public void beforeTest() {
System.out.println("温馨提示,单元测试开始咯!");
}
@After
public void afterTest() {
System.out.println("温馨提示,单元测试结束咯!");
}
@Test
public void testFindById() {
College college = dao.findById(1);
System.out.println("校名:" + college.getName());
System.out.println("校长:" + college.getPresident());
System.out.println("地址:" + college.getAddress());
System.out.println("邮箱:" + college.getEmail());
System.out.println("电话:" + college.getTelephone());
}
@Test
public void testUpdate() {
College college = dao.findById(1);
college.setPresident("王洪礼");
int count = dao.update(college);
if (count > 0) {
System.out.println("学校记录更新成功!");
System.out.println("新校长:" + dao.findById(1).getPresident());
} else {
System.out.println("学校记录更新失败!");
}
}
}
1、testFindById方法运行结果:
2、testUpdate运行结果:
二、创建StatusDaoImpl测试类TestStatusDaoImpl
package net.dc.student.test;
import net.dc.student.bean.Status;
import net.dc.student.dao.StatusDao;
import net.dc.student.dao.impl.StatusDaoImpl;
import org.junit.Test;
/**
* 功能:测试状态数据访问接口实现类
* 作者:邓聪
* 日期:2020年07月06日
*/
public class TestStatusDaoImpl {
StatusDao dao = new StatusDaoImpl();
@Test
public void testFindById() {
Status status = dao.findById(1);
System.out.println("作者:" + status.getAuthor());
System.out.println("学校:" + status.getCollege());
System.out.println("版本:" + status.getVersion());
System.out.println("地址:" + status.getAddress());
System.out.println("电话:" + status.getTelephone());
System.out.println("邮箱:" + status.getEmail());
}
@Test
public void testUpdate() {
Status status = dao.findById(1);
status.setAuthor("邓聪");
status.setTelephone("19882348873");
status.setEmail("[email protected]");
int count = dao.update(status);
if (count > 0) {
System.out.println("状态记录更新成功!");
System.out.println(dao.findById(1));
} else {
System.out.println("状态记录更新失败!");
}
}
}
1、testFindById运行结果:
2、testUpdate运行结果
三、创建StudentDaoImpl测试类TestStudentDaoImpl
package net.dc.student.test;
import net.dc.student.bean.Student;
import net.dc.student.dao.StudentDao;
import net.dc.student.dao.impl.StudentDaoImpl;
import org.junit.Test;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
/**
* 功能:测试学生数据访问接口实现类
* 作者:邓聪
* 日期:2020年07月06日
*/
public class TestStudentDaoImpl {
StudentDao dao = new StudentDaoImpl();
@Test
public void testInsert() {
Student student = new Student();
student.setId("20192106");
student.setName("楚风");
student.setSex("男");
student.setAge(18);
student.setDepartment("基础部");
student.setClazz("2019基础2班");
student.setTelephone("18782682235");
int count = dao.insert(student);
if (count > 0) {
System.out.println("恭喜,学生记录插入成功!");
System.out.println(dao.findById(student.getId()));
} else {
System.out.println("遗憾,学生记录插入失败");
}
}
@Test
public void testDeleteById() {
String id = "20192106";
int count = dao.deleteById(id);
if (count > 0) {
System.out.println("恭喜,学生记录删除成功!");
} else {
System.out.println("遗憾,学生记录删除失败!");
}
}
@Test
public void testDeleteByClass() {
String clazz = "2019经济1班";
int count = dao.deleteByClass(clazz);
if (count > 0) {
System.out.println("恭喜,[" + clazz + "]学生记录删除成功!");
} else {
System.out.println("遗憾,[" + clazz + "]学生记录删除失败!");
}
}
@Test
public void testDeleteByDepartment() {
String department = "商学院";
int count = dao.deleteByDepartment(department);
if (count > 0) {
System.out.println(String.format("恭喜,[%s]删除成功", department));
} else {
System.out.println(String.format("遗憾,[%s]删除失败", department));
}
}
@Test
public void testUpdate() {
Student student = new Student();
student.setId("20192101");
student.setName("高大强");
student.setSex("男");
student.setAge(18);
student.setDepartment("商学院");
student.setClazz("2019经济1班");
student.setTelephone("18782682235");
int count = dao.update(student);
if (count > 0) {
System.out.println(String.format("恭喜,%s记录更新成功!", student));
} else {
System.out.println(String.format("遗憾,%s记录更新失败!", student));
}
}
@Test
public void testFindByName() {
String name = "林";
List<Student> students = dao.findByName(name);
if (students.size() > 0) {
for (Student student : students) {
System.out.println(student);
}
} else {
System.out.println("温馨提示:查无此人!");
}
}
@Test
public void testFindAll() {
List<Student> students = dao.findAll();
for (Student student : students) {
System.out.println(student);
}
}
@Test
public void testFindRowsBySex() {
//调用学生数据访问对象的按性别统计人数方法
Vector rows = dao.findRowsBySex();
//获取向量的迭代器
Iterator iterator = rows.iterator();
//遍历迭代器
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
@Test
public void testFindById() {
String id = "20192101";
Student student = dao.findById(id);
if (student != null) {
System.out.println("查找到记录:" + student);
} else {
System.out.println("未找到记录!");
}
}
@Test
public void testFindByClass() {
String clazz = "2019经济3班";
List<Student> students = dao.findByClass(clazz);
if (students.size() > 0) {
Iterator iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} else {
System.out.println("未查询到记录!");
}
}
@Test
public void testFindByDepartment() {
String dep = "商学院";
List<Student> students = dao.findByDepartment(dep);
if (students.size() > 0) {
Iterator iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} else {
System.out.println("未查询到记录!");
}
}
@Test
public void testFindRowsByClass() {
Vector<Student> students = dao.findRowsByClass();
if (students.size() > 0) {
Iterator iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} else {
System.out.println("记录不存在!");
}
}
@Test
public void testFindRowsByDepartment() {
Vector<Student> students = dao.findRowsByDepartment();
if (students.size() > 0) {
Iterator iterator = students.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
} else {
System.out.println("记录不存在!");
}
}
}
1、testInsert方法运行结果:
查看数据表:
2、testDeleteById运行结果:
查看数据表:
2、testDeleteByClass运行结果:
查看数据表:
3、testDeleteByDepartment方法运行结果:
查看数据表:
4、testUpdate方法运行结果:
查看数据表:
5、testFindByName方法运行结果:
6、testFindAll方法运行结果:
7、testFindRowsBySex方法运行结果:
8、testFindById方法运行结果:
9、testFindByClass运行结果:
10、testFindByDepartment运行结果:
11、testFindRowsByClass方法运行结果:
12、testFindRowsByDepartment方法运行结果:
四、创建UserDaoImpl测试类TestUserDaoImpl:
package net.dc.student.test;
import net.dc.student.bean.User;
import net.dc.student.dao.UserDao;
import net.dc.student.dao.impl.UserDaoImpl;
import org.junit.Test;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
/**
* 功能:测试UserDaoImpl实现类
* 作者:邓聪
* 时间:2020年07月06日
*/
public class TestUserDaoImpl {
UserDao dao = new UserDaoImpl();
@Test
public void testInsert() {
User user = new User();
user.setUsername("王者荣耀");
user.setPassword("12345");
user.setTelephone("198982348873");
user.setRegisterTime(new Date());
if (dao.insert(user) > 0) {
System.out.println("恭喜,记录插入成功!");
} else {
System.out.println("遗憾,记录插入失败!");
}
}
@Test
public void testDeleteById() {
int id = 9;
if (dao.deleteById(id) > 0) {
System.out.println("已经删除该用户!");
} else {
System.out.println("该用户不存在!");
}
}
@Test
public void testUpdate() {
User user = new User();
user.setId(8);
user.setUsername("红毛至尊");
user.setPassword("12345");
user.setTelephone("19089901235");
user.setRegisterTime(new Date());
if (dao.update(user) > 0) {
System.out.println("用户更新成功!");
} else {
System.out.println("用户更新失败!");
}
}
@Test
public void testFindById() {
int id = 8;
User user = dao.findById(id);
if (user != null) {
System.out.println(user);
} else {
System.out.println("该用户不存在");
}
}
@Test
public void testFindAll() {
List<User> users = dao.findAll();
Iterator<User> iterator = users.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
@Test
public void testLogin() {
String username = "红毛至尊";
String password = "12345";
User user = dao.login(username, password);
if (user != null) {
System.out.println("存在该用户");
} else {
System.out.println("该用户不存在");
}
}
@Test
public void testIsUsernameExisted() {
String username = "辰东";
if (dao.isUsernameExisted(username)) {
System.out.println("存在该用户");
} else {
System.out.println("不存在该用户");
}
}
}
1、testInsert方法运行结果:
查看数据表:
2、testDeleteById方法运行结果:
查看数据表:
3、testUpdate方法运行结果:
查看数据表:
4、testFindById方法运行结果:
5、testFindAll方法运行结果:
6、testLogin方法运行结果:
查看数据表:
7、testIsUsernameExisted方法运行结果:
总结:只要按照接口所制定的规范,创建其实现类,再进行测试,基本不会有什么问题