上一次实训总算把增删改查给弄完了,这一次老师让我们做的是创建服务接口,与增删改查的步骤相似,步骤大概如下:
第一步:创建服务接口
1.创建service包
2.创建学校服务接口,状态服务接口,学生服务接口,用户服务接口
第二步:创建服务接口实现类
1.在service包下创建impl包
2.创建学校服务接口实现类,状态服务接口实现类,学生服务接口类,用户服务接口实现类
第三步:对学校服务接口实现类进行测试
代码如下:
package net.zxl.student.test;
import net.zxl.student.bean.College;
import net.zxl.student.service.CollegeService;
import net.zxl.student.service.impl.CollegeServiceImpl;
import org.junit.Test;
public class TestCollegeServiceImpl {
//定义学校服务接口对象
CollegeService service = new CollegeServiceImpl();
@Test
public void testFindCollegeById(){
//调用学校数据访问对象的查找方法,获取学校对象
College college = service.findCollegeById(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());
}
}
package net.zxl.student.test;
import net.zxl.student.bean.Status;
import net.zxl.student.dao.StatusDao;
import net.zxl.student.dao.impl.StatusDaoImpl;
import org.junit.Test;
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("18384566545");
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("状态记录更新失败!");
}
}
}
package net.zxl.student.test;
import net.zxl.student.bean.Student;
import net.zxl.student.service.StudentService;
import net.zxl.student.service.impl.StudentServiceImpl;
import org.junit.Test;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
public class TestStudentServiceImpl {
//创建学生服务接口对象
StudentService service = new StudentServiceImpl();
@Test
public void testFindStudentsByName(){
String name="李";
//调用学生服务接口对象查询方法,获取学生列表
List<Student> students=service.findStudentsByName(name);
for(Student student:students){
System.out.println(student);
}
}
@Test
public void testAddStudent(){
//创建学生对象
Student student =new Student();
//设置学生对象属性
student.setId("19242059");
student.setName("张晓辉");
student.setSex("19");
student.setDepartment("人文学院");
student.setClazz("2019数媒3班");
student.setTelephone("13456897454");
//调用学生数据访问对象的添加方法
int count = service.addStudent(student);
//判断学生记录是否添加成功
if (count>0){
System.out.println("恭喜,学生记录添加成功!");
System.out.println(service.findStudentById(student.getId()));
}else{
System.out.println("遗憾,学生记录添加失败!");
}
}
@Test
public void testDeleteStudentById(){
String id ="19242059";
//调用学生数据访问对象的按id删除方法
int count = service.deleteStudentById(id);
//判断学生记录是否删除成功
if(count>0){
System.out.println("恭喜,学生记录删除成功!");
}else{
System.out.println("遗憾,学生记录删除失败!");
}
}
@Test
public void testDeleteStudentsByClass(){
String clazz="19会计1班";
//调用学生数据访问对象的按班级删除方法
int count=service.deleteStudentsByClass(clazz);
if(count>0){
System.out.println("恭喜,["+clazz+"]学生记录删除成功!");
}else{
System.out.println("遗憾,["+clazz+"]学生记录删除失败!");
}
}
@Test
public void testDeleteStudentsByDepartment(){
String department="商学院";
//调用学生数据访问对象的按班级删除方法
int count=service.deleteStudentsByDepartment(department);
if(count>0){
System.out.println("恭喜,["+department+"]学生记录删除成功!");
}else{
System.out.println("遗憾,["+department+"]学生记录删除失败!");
}
}
@Test
public void testUpdateStudent(){
//调用状态数据访问对象的查找方法
Student student = service.findStudentById("19091218");
//修改状态对象的属性
student.setName("张晓文");
student.setSex("19");
student.setDepartment("人文学院");
student.setClazz("2019数媒3班");
student.setTelephone("13456897454");
//调用状态数据访问对象的更新方法
int count =service.updateStudent(student);
//判断状态更新是否成功
if(count > 0){
System.out.println("状态记录更新成功!");
System.out.println(service.findStudentById("19091218"));
}else{
System.out.println("状态记录更新失败!");
}
}
@Test
public void testFindStudentById(){
//调用用户数据访问对象的查找方法
Student student=service.findStudentById("18102502");
//输出用户信息
System.out.println("学号:"+student.getId());
System.out.println("姓名:"+student.getName());
System.out.println("年龄:"+student.getSex());
System.out.println("系部:"+student.getDepartment());
System.out.println("班级:"+student.getClazz());
System.out.println("电话:"+student.getTelephone());
}
@Test
public void testFindAllStudents(){
//调用学生数据访问对象的查找全部方法
List<Student> students=service.findAllStudents();
//通过增强for循环遍历学生列表
for(Student student:students){
System.out.println(student);
}
}
@Test
public void testFindStudentsByClass(){
String clazz="19计应3班";
//调用学生数据访问对象的按姓名查找方法
List<Student> students=service.findStudentsByClass(clazz);
//判断列表里是否有元素
if(students.size()>0){
//通过增强for循环遍历学生列表
for(Student student:students){
System.out.println(student);}
}else{
System.out.println("温馨提示:查无此人!");
}
}
@Test
public void testFindByDepartment(){
String department="信息工程学院";
//调用学生数据访问对象的按姓名查找方法
List<Student> students=service.findStudentsByDepartment(department);
//判断列表里是否有元素
if(students.size()>0){
//通过增强for循环遍历学生列表
for(Student student:students){
System.out.println(student);}
}else{
System.out.println("温馨提示:查无此人!");
}
}
@Test
public void testFindRowsBySex(){
//调用学生数据访问对象的按性别统计人数方法
Vector rows=service.findRowsBySex();
//获取向量的迭代器
Iterator iterator =rows.iterator();
//遍历迭代器
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
@Test
public void testFindRowsByDepartment(){
//调用学生数据访问对象的按系部统计人数方法
Vector rows=service.findRowsByDepartment();
//获取向量的迭代器
Iterator iterator =rows.iterator();
//遍历迭代器
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
package net.zxl.student.test;
import net.zxl.student.bean.User;
import net.zxl.student.service.UserService;
import net.zxl.student.service.impl.UserServiceImpl;
import org.junit.Test;
import java.util.Date;
import java.util.List;
public class TestUserServiceImpl {
//创建用户服务接口对象
UserService service =new UserServiceImpl();
@Test
public void testLogin(){
String username,password;
username="张益达";
password="12345678";
//调用用户数据访问对象的登录方法
User user =service.login(username,password);
//判断用户登录是否成功
if(user != null){
System.out.println("恭喜,用户名与密码正确,登陆成功!");
}else{
System.out.println("遗憾,用户名或密码错误,登录失败!");
}
}
@Test
public void testIsUsernameExisted(){
//定义用户名
String username="张伟";
//调用用户数据访问对象的用户名存在与否方法
boolean result =service.isUsernameExisted(username);
//判断用户名是否存在
if(result){
System.out.println("温馨提示:["+username+"]已存在,不可用此名注册!");
}else{
System.out.println("温馨提示:["+username+"]不存在,可用此名注册!");
}
}
@Test
public void testAddUser(){
//定义用户对象
User user=new User();
//设置用户属性
user.setUsername("张云");
user.setPassword("123321");
user.setTelephone("13645542210");
user.setRegisterTime(new Date());
//调用用户数据访问对象的插入方法
int count=service.addUser(user);
//判断用户记录是否插入成功
if(count>0){
System.out.println("恭喜,用户记录插入成功!");
System.out.println(service.findUserById(service.findAllUsers().size()));
}else{
System.out.println("遗憾,用户记录插入失败!");
}
}
@Test
public void testDeleteUserById(){
int id =16;
//调用用户数据访问对象的按id删除方法
int count = service.deleteUserById(id);
//判断用户记录是否删除成功
if(count>0){
System.out.println("恭喜,用户记录删除成功!");
}else{
System.out.println("遗憾,用户记录删除失败!");
}
}
@Test
public void testUpdateUser() {
//调用用户数据访问对象的查询方法
User user = service.findUserById(5);
//修改用户信息
user.setPassword("123");
//调用用户数据访问对象的更新方法
int count = service.updateUser(user);
//判断是否更新成功
if (count > 0) {
System.out.println("学校记录更新成功!");
System.out.println(service.findUserById(5));
}else {
System.out.println("学校记录更新失败!");
}
}
@Test
public void testFindUserById(){
//调用用户数据访问对象的查找方法
User user =service.findUserById(5);
//输出用户信息
System.out.println("用户名:"+user.getUsername());
System.out.println("密码:"+user.getPassword());
System.out.println("电话:"+user.getTelephone());
System.out.println("注册时间:"+user.getRegisterTime());
}
@Test
public void testFindAllUsers(){
//调用用户数据访问对象的查找全部方法
List<User> users=service.findAllUsers();
//通过增强for循环遍历用户列表
for(User user:users){
System.out.println(user);
}
}
}
运行效果如下:
其实,这个与dao包,即上次实训的内容几乎是一样的,再敲一回,更增加了对代码的熟悉程度,但是敲起来很累,反复去敲,去理解,会有很大收获的.期待下一次实训.