学生信息管理系统实训第三天项目

1.创建学生服务接口实现类StudentServiceImpl

package net.wj.student.dao.impl;

import net.wj.student.bean.Student;
import net.wj.student.dao.StudentDao;
import net.wj.student.dbutil.ConnectionManger;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;

/**
 * 功能:学生数据访问接口实现类
 * 作者:王洁
 * 日期:2019年6月19日
 */

(1)插入学生记录

public class StudentDaoImpl implements StudentDao {
    /**
     * 插入学生记录
     * @param student
     * @return
     */

    @Override
    public int insert(Student student) {
        //定义插入记录数
        int count = 0;
        //1.获得数据库连接
        Connection conn = ConnectionManger.getConnection();
        //2.定义SQL字符串
        String strSQL = "insert into student(id,name,sex,age,department,class,phone)"+
                "values(?,?,?,?,?,?,?)";
        try {
            //3.创建预备语句对象
            PreparedStatement pstmt = conn.prepareStatement(strSQL);
            //4.设置占位符的值
            pstmt.setString(1,student.getId());
            pstmt.setString(2,student.getName());
            pstmt.setString(3,student.getSex());
            pstmt.setInt(4,student.getAge());
            pstmt.setString(5,student.getDepartment());
            pstmt.setString(6,student.getClazz());
            pstmt.setString(7,student.getPhone());
            //5.执行SQL,返回插入记录数
            count = pstmt.executeUpdate();
            //6.关闭预备语句对象
            pstmt.close();
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            //关闭数据库连接
            ConnectionManger.closeConnection(conn);
        }

        //返回插入记录数
        return count;
    }

在test包里新建TestStudentImpl项目
在这里插入图片描述

package net.wj.student.test;

import net.wj.student.bean.Student;
import net.wj.student.dao.StudentDao;
import net.wj.student.dao.impl.StudentDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * 功能:测试学生数据访问接口实现类
 * 作者:王洁
 * 日期:2019年6月19日
 */

对插入学生记录进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(2)按学号删除学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(3)按班级删除学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(4)按系部删除学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述结果为
在这里插入图片描述
因为信息工程学院的学生我们开始删除了,所以数据库中没有信息工程学院你的学生信息了,所以最后结果为删除失败。
(5)更新学生信息记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(6)按学生学号查询学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(7)按姓名查询学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
在这里插入图片描述
结果为
在这里插入图片描述在这里插入图片描述
(8)按班级查询学生信息
在这里插入图片描述
对其进行测试
在这里入图片描述
结果为
在这里插入图片描述
(9)按系部查询学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(10)查询全部学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(11)按性别统计学生人数
在这里插入图片描述
对其进行测试

在这里插入图片描述
结果为
在这里插入图片描述
(12)按班级统计人数
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(13)按系部统计学生人数
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
2.创建用户数据访问接口实现类UserDaoImpl
在这里插入图片描述

package net.wj.student.dao.impl;

import net.wj.student.bean.User;
import net.wj.student.dao.UserDao;

import java.util.List;

/**
 * 功能:用户数据访问接口实现类
 * 作者:王洁
 * 日期:2019年6月19日
 */

public class UserDaoImpl implements UserDao {
    @Override
    public int insert(User user) {
        return 0;
    }

    @Override
    public int deleteById(int id) {
        return 0;
    }

    @Override
    public int update(User user) {
        return 0;
    }

    @Override
    public User findById(int id) {
        return null;
    }

    @Override
    public List<User> findAll() {
        return null;
    }

    @Override
    public User login(String username, String password) {
        return null;
    }
}

(1)插入用户数据
在这里插入图片描述
在test包下创建TestUserDaoImol项目并对其进行测试
在这里插入图片描述

package net.wj.student.test;

import net.wj.student.bean.User;
import net.wj.student.dao.UserDao;
import net.wj.student.dao.impl.UserDaoImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * 功能:测试用户数据访问接口实现类
 * 作者:王洁
 * 日期:2019年6月19日
 */

public class TestUserDaoImpl {
    @Before
    public void testBefore() {
        System.out.println("单元测试开始了~");
    }

    @After
    public void testAfter() {
        System.out.println("单元测试结束了~");
    }

在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述

(2)按id删除用户记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(3)更新用户记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
(4)按id查询用户
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(5)查询所有用户
在这里插入图片描述对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(6)用户登录类

在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
3.服务接口
在net.wj.student下创建service包and各个服务接口
在这里插入图片描述
(1)学校服务接口CollegeService
在这里插入图片描述
(2)状态服务接口StatusService
在这里插入图片描述
(3)学生服务接口StudentService
在这里插入图片描述
(4)用户服务接口UserService
在这里插入图片描述
4.服务接口实现类
在net.wj.student.service下创建Impl实现类包
在这里插入图片描述
(1)学校服务接口实现类CollegeServiceImpl
在这里插入图片描述
①按id查询学校记录
在这里插入图片描述
在test包下新建测试服务接口实现类的项目
在这里插入图片描述
对其进行测试

在这里插入图片描述
结果为
在这里插入图片描述
②更新学校记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(2)状态服务接口实现类StatusServiceImpl
在这里插入图片描述
①按id查询状态
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里我发现了以前没有发现的问题
email的值是地址的值,可以修改到email的地方在StatusDaoImpl里,去查找后,发现address和email占位符的值都是address在这里插入图片描述
对它进行修改
在这里插入图片描述
然后在TestStatusDaoImpl中运行测试更新
在这里插入图片描述
结果为
在这里插入图片描述
这里的email在前面测试时误导了我,因为我修改的值和原来的值一样,所以看到结果和我的值是一样的。哈哈,以后更新修改值的时候一定要和之前不一样啦

最后运行TestStatusServiceImpl结果为
在这里插入图片描述
②更新状态
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(3)学生服务窗口接口实现类StudentServiceImpl

package net.wj.student.servier.Impl;

import net.wj.student.bean.Student;
import net.wj.student.dao.StudentDao;
import net.wj.student.dao.impl.StudentDaoImpl;
import net.wj.student.servier.StudentService;

import java.util.List;
import java.util.Vector;

/**
 * 功能:学生服务接口实现类
 * 作者:王洁
 * 日期:2019年6月20日
 */

public class StudentServiceImpl implements StudentService {
    
    //声明学生数据访问对象
    private StudentDao studentDao = new StudentDaoImpl();
    
    @Override
    public int addStudent(Student student) {
        return studentDao.insert(student);
    }

    @Override
    public int deleteStudentById(String id) {
        return studentDao.deleteById(id);
    }

    @Override
    public int deleteStudentByClass(String clazz) {
        return studentDao.deleteByClass(clazz);
    }

    @Override
    public int deleteStudentByDepartment(String department) {
        return studentDao.deleteByDepartment(department);
    }

    @Override
    public int updateStudent(Student student) {
        return studentDao.update(student);
    }

    @Override
    public Student findStudentId(String id) {
        return studentDao.findById(id);
    }

    @Override
    public List<Student> findStudentsByName(String name) {
        return studentDao.findByName(name);
    }

    @Override
    public List<Student> findStudentsByClass(String clazz) {
        return studentDao.findByClass(clazz);
    }

    @Override
    public List<Student> findStudentsByDepartment(String department) {
        return studentDao.findByDepartment(department);
    }

    @Override
    public List<Student> findAllStudents() {
        return studentDao.findAll();
    }

    @Override
    public Vector findRowsBySex() {
        return studentDao.findRowsBySex();
    }

    @Override
    public Vector findRowsByClass() {
        return studentDao.findRowsByClass();
    }

    @Override
    public Vector findRowsByDepartment() {
        return studentDao.findRowsByDepartment();
    }
}

①添加学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
②按id删除学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述

③按班级删除学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
④按系部删除学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑤更新学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑥按id查询学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑦按姓名查询学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑧按班级查询学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑨按系部查询学生记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑩查询全部学生记录
在这里插入图片描述对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑪按性别统计学生人数
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑫按班级统计学生人数
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑬按系部统计学生人数
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
(4)用户服务接口实现类UserServiceImpl

package net.wj.student.servier.Impl;

import net.wj.student.bean.User;
import net.wj.student.dao.UserDao;
import net.wj.student.dao.impl.UserDaoImpl;
import net.wj.student.servier.UserService;

import java.util.List;

/**
 * 功能:用户服务接口实现类
 * 作者:王洁
 * 日期:2019年6月20日
 */

public class UserServiceImpl implements UserService {
    /**
     * 声明用户数据访问对象
     */
    private UserDao userDao = new UserDaoImpl();
    
    @Override
    public int addUser(User user) {
        return userDao.insert(user);
    }

    @Override
    public int deleteUserById(int id) {
        return userDao.deleteById(id);
    }

    @Override
    public int updateUser(User user) {
        return userDao.update(user);
    }

    @Override
    public User findUserById(int id) {
        return userDao.findById(id);
    }

    @Override
    public List<User> findAllUsers() {
        return userDao.findAll();
    }

    @Override
    public User login(String name, String password) {
        return userDao.login(name,password);
    }
}

①插入用户记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
这里有一个炒鸡大的问题
之前在net.wj.bean.User中定义Addtime的类型是Date
在这里插入图片描述
一般insert方法中插入时间就是当前时间
java.sql.Date与java.util.Date 的格式不同
这里将sql修改成util
在这里插入图片描述
后面在UserDaoImpl中设置占位符处将Addtime的值设置为Timestamp
在这里插入图片描述
这样在测试的时候使用currentTimeMillis方法获取了当前日期来设置Addtime的值
在这里插入图片描述
最后结果为
在这里插入图片描述
加粗样式
②按id删除用户记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
③更新用户记录
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
在这里插入图片描述
④按id查询学生信息
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑤查询所有学生记录在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述
⑥登录用户
在这里插入图片描述
对其进行测试
在这里插入图片描述
结果为
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值