Java第四次实训报告
项目(GUI学生信息管理系统)
一.创建数据访问接口实现类
1.在net.zy.student.dao包里创建impl子包
2.创建学校数据访问接口实现类CollegeDaoImpl
package net.zy.student.dao.impl;
import net.zy.student.bean.College;
import net.zy.student.dao.CollegeDao;
import net.zy.student.dbutil.ConnectionManager;
import java.sql.*;
/*
功能:学校数据访问接口实现类
作者:曾源
日期:2020年7月11日
*/
public class CollegeDaoImpl implements CollegeDao {
//按id查找学校
@Override
public College findById(int id) {
//定义学校对象
College college = null;
//1.获取数据库连接
Connection conn = ConnectionManager.getConnection();
//2.定义SQL字符串
String strSQL = “select * from t_college where id = ?”;
try{
//3.创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
//4.设置占位符的值
pstmt.setInt(1,id);
//5.执行SQL,返回结果集
ResultSet rs = pstmt.executeQuery();
//6.判断结果集是否有记录
if (rs.next()){
//实例化学校对象
college = new College();
//利用当前记录各个字段值去设置学校对象的属性
college.setId(rs.getInt(“id”));
college.setName(rs.getString(“name”));
college.setPresident(rs.getString(“president”));
college.setStartTime(rs.getTimestamp(“start_time”));
college.setTelephone(rs.getString(“telephone”));
college.setEmail(rs.getString(“email”));
college.setAddress(rs.getString(“address”));
college.setProfile(rs.getString(“profile”));
}
//7.关闭预备语句对象
pstmt.close();
//8.关闭结果集对象
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally {
//关闭数据库连接
ConnectionManager.closeConnection(conn);
}
//返回学校对象
return college;
}
//更新学校信息
@Override
public int update(College college) {
//定义更新记录数
int count = 0;
//1.获取数据库连接
Connection conn = ConnectionManager.getConnection();
//2.定义SQL字符串
String strSQL = "update t_college set name = ?, president = ?, start_time = ?,"
+ " telephone = ?, email = ?, address = ?, profile = ? where id = ?";
try{
//3.创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
//4.设置占位符的值
pstmt.setString(1,college.getName());
pstmt.setString(2,college.getPresident());
pstmt.setTimestamp(3,new Timestamp(college.getStartTime().getTime()));
pstmt.setString(4,college.getTelephone());
pstmt.setString(5,college.getEmail());
pstmt.setString(6,college.getAddress());
pstmt.setString(7,college.getProfile());
pstmt.setInt(8,college.getId());
//5.执行SQL,返回更新记录数
count = pstmt.executeUpdate();
//6.关闭预备语句对象
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}finally {
//关闭数据库连接
ConnectionManager.closeConnection(conn);
}
//返回更新记录数
return count;
}
}
二.在根包net.zy.student里创建test子包,在里面创建测试类TestCollegeDaoImpl
1.编写测试方法testFindById()
@Test
public void testFindById(){
//创建学校数据访问对象
CollegeDao dao = new CollegeDaoImpl();
//调用学校数据访问对象的查找方法,获取学校对象
College college = dao.findById(1);
//判断是否查询成功
if(college != null){
//输出学校信息
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());
}else {
System.out.println("没有查询到信息记录");
}
}
2.编写测试方法testUpdate()
@Test
public void testUpdate() {
//创建学校数据访问对象
CollegeDao dao = new CollegeDaoImpl();
//调用学校数据访问对象的查询方法
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("学校记录更新失败!");
}
}
三.创建状态数据访问接口实现类StatusDaolmp
(1)编写测试方法testFindByld()
(2)编写测试方法testUpdate()
四.创建学生数据访问接口实现类StudentDaolmpl
(1)编写测试方法testInsert()
(2)编写测试方法testDeleteByld()
(3)编写测试方法testDeleteByClass()
(4)编写测试方法testFindByName()
(5)编写测试方法testFindAll()
(6)编写测试方法testFindRowsBySex()
(7)编写测试方法testDeleteByDepartment()
(8)编写测试方法testUpdate()
(9)编写测试方法testFindByld()
(10)编写测试方法testFindByClass()
(11)编写测试方法testFindByDepartment()
(12)编写测试方法testFindRowsByClass()
(13)编写测试方法testFindRowsByDepartment()
五.创建用户数据访问接口实现类UserDaolmpl
(1)编写测试方法testFindByld()
(2)编写测试方法testLogin()
(3)编写测试方法testlsUsernameExisted()
(4)编写测试方法testInsert()
(5)编写测试方法testDeleteByld()
(6)编写测试方法testUpdate()
(7)编写测试方法testFindAll()