学校服务接口CollegeService
状态服务接口StatusService
学生服务接口StudentService
用户服务接口UserService
学校服务接口实现类CollegeServiceImpl
package net.hlj.student.dao.impl;
/**
- 功能:学校数据访问接口实现类
- 作者:黄丽娟
- 日期:2019年6月27日
*/
import net.hlj.student.bean.College;
import net.hlj.student.dao.CollegeDao;
import net.hlj.student.dbutil.ConnectionManager;
import java.sql.*;
public class CollageDaoImpl implements CollegeDao {
/**
* 按id查找学校
*
* @param id
* @return 学习对象
*/
@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.getDate("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;
}
/**
* 更新学校信息
*
* @param college
* @return
*/
@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.hw.student.test包里创建测试类TestCollegeServiceImpl:
package net.hlj.student.test;
import net.hlj.student.bean.College;
import net.hlj.student.service.CollegeService;
import net.hlj.student.service.impl.CollegeServiceImpl;
import org.junit.Test;
/**
- 功能:测试学校服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
public class TestCollegeServiceImpl {
@Test
public void testCollegeServiceImpl() {
CollegeService service = new CollegeServiceImpl();
College college = service.findCollegeById(1);
System.out.println(college);
}
@Test
public void testUpdateCollege() {
CollegeService service = new CollegeServiceImpl();
College college = service.findCollegeById(1);
college.setPresident(“王洪礼”);
college.setTelephone(“3152639”);
int count = service.updateCollege(college);
if (count > 0) {
System.out.println(“恭喜,学校记录更新成功!”);
college = service.findCollegeById(1);
System.out.println(college);
}else {
System.out.println(“遗憾,学校记录更新失败!”);
}
}
}
状态服务接口实现类StatusServiceImpl
package net.hlj.student.dao.impl;
import net.hlj.student.bean.Status;
import net.hlj.student.dao.StatusDao;
import net.hlj.student.dbutil.ConnectionManager;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
- 功能:状态数据访问接口实现类
- 姓名:黄丽娟
- 日期:2019年6月28日
*/
public class StatusDaoImpl implements StatusDao {
@Override
public Status findById(int id) {
//声明状态对象
Status status = null;
//1.获取数据库连接对象
Connection conn = ConnectionManager.getConnection();
//2.定义SQL字符串
String strSQL = "SELECT * FROM t_status WHERE id = ?";
try {
//3.创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
//4.设置占位符的值
pstmt.setInt(1,id);
//5.执行SQL查询,返回结果集
ResultSet rs = pstmt.executeQuery();
//6.判断结果集是否有记录
if (rs.next()) {
// 实例化状态
status = new Status();
//利用当前记录字段值去设置状态对象的属性
status.setId(rs.getInt("id"));
status.setCollege(rs.getString("college"));
status.setVersion(rs.getString("version"));
status.setAuthor(rs.getString("author"));
status.setTelephone(rs.getString("telephone"));
status.setAddress(rs.getString("address"));
status.setEmail(rs.getString("email"));
}
//7.关闭预备语句对象
pstmt.close();
//8.关闭结果集对象
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally {
//关闭数据库连接
ConnectionManager.closeConnection(conn);
}
//返回状态对象
return status;
}
@Override
public int update(Status status) {
//定义更新记录数
int count = 0;
//1.获得数据库连接
Connection conn = ConnectionManager.getConnection();
//2.定义SQL字符串
String strSQL = "Update t_status SET college = ?,version = ?, author = ?,"
+ "telephone = ?, address = ?,email = ? where id =?";
try {
//3.创建预备语句对象
PreparedStatement pstmt = conn.prepareStatement(strSQL);
//4.设置占位符的值
pstmt.setString(1, status.getCollege());
pstmt.setString(2, status.getVersion());
pstmt.setString(3, status.getAuthor());
pstmt.setString(4, status.getTelephone());
pstmt.setString(5, status.getAddress());
pstmt.setString(6, status.getEmail());
pstmt.setInt(7, status.getId());
//5.执行更新操作,更新记录
count = pstmt.executeUpdate();
//6.关闭预备语句对象
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//关闭数据库连接
ConnectionManager.closeConnection(conn);
}
//返回更新记录数
return count;
}
}
在net.hw.student.test包里创建测试类TestStatusServiceImpl:
package net.hlj.student.test;
import net.hlj.student.bean.Status;
import net.hlj.student.service.StatusService;
import net.hlj.student.service.impl.StatusServiceImpl;
import org.junit.Test;
/**
- 功能:测试状态服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
public class TestStatusServiceImpl {
@Test
public void testFindStatusById() {
StatusService service = new StatusServiceImpl();
Status status = service.findStatusById(1);
System.out.println(status);
}
@Test
public void testUpdateStatus() {
StatusService service = new StatusServiceImpl();
Status status = service.findStatusById(1);
status.setAuthor(“无心剑”);
status.setTelephone(“1580000111”);
int count = service.updateStatus(status);
if (count > 0) {
System.out.println(“恭喜,状态记录更新成功!”);
status = service.findStatusById(1);
System.out.println(status);
}else {
System.out.println(“yh,zhuangt记录更新失败!”);
}
}
}
学生服务接口实现类StudentServiceImpl
package net.hlj.student.service.impl;
import net.hlj.student.bean.Student;
import net.hlj.student.dao.StudentDao;
import net.hlj.student.dao.impl.StudentDaoImpl;
import net.hlj.student.service.StudentService;
import java.util.List;
import java.util.Vector;
/**
- 功能:学生服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
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 deleteStudentsByClass(String clazz) {
return studentDao.deleteByClass(clazz);
}
@Override
public int deleteStudentsByDepartment(String department) {
return studentDao.deleteByDepartment(department);
}
@Override
public List<Student> findAllStudents() {
return studentDao.findAll();
}
@Override
public Vector findRowsByClass() {
return studentDao.findRowsByClass();
}
@Override
public Vector findRowsByDepartment() {
return studentDao.findRowsByDepartment();
}
@Override
public Vector findRowsBySex() {
return studentDao.findRowsBySex();
}
@Override
public Student findStudentById(String id) {
return studentDao.findById(id);
}
@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> findStudentsByName(String name) {
return studentDao.findByName(name);
}
@Override
public int updateStudent(Student student) {
return studentDao.update(student);
}
}
在net.hw.student.test包里创建测试类TestStudentServiceImpl:
package net.hlj.student.test;
import net.hlj.student.bean.Student;
import net.hlj.student.service.StudentService;
import net.hlj.student.service.impl.StudentServiceImpl;
import org.junit.Test;
import java.util.List;
/**
- 功能:测试学生服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
public class TestStudentServiceImpl {
@Test
public void testFindStudentsByName() {
StudentService service = new StudentServiceImpl();
String name = “李”;
List students = service.findStudentsByName(name);
for (Student student:students) {
System.out.println(student);
}
}
}
用户服务接口实现类UserServiceImpl
package net.hlj.student.service.impl;
import net.hlj.student.bean.User;
import net.hlj.student.dao.UserDao;
import net.hlj.student.dao.impl.UserDaoImpl;
import net.hlj.student.service.UserService;
import java.util.List;
/**
- 功能:用户服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
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 List<User> findAllUsers() {
return userDao.findAll();
}
@Override
public User findUserById(int id) {
return userDao.findById(id);
}
@Override
public User login(String username, String password) {
return userDao.login(username, password);
}
@Override
public int updateUser(User user) {
return userDao.update(user);
}
@Override
public boolean isUsernameExisted(String username) {
return userDao.isUsernameExisted(username);
}
}
在net.hw.student.test包里创建测试类TestUserServiceImpl:
package net.hlj.student.test;
import net.hlj.student.bean.User;
import net.hlj.student.service.UserService;
import net.hlj.student.service.impl.UserServiceImpl;
import org.junit.Test;
/**
- 功能:测试用户服务接口实现类
- 作者:黄丽娟
- 日期:2019年6月26日
*/
public class TestUserServiceImpl {
@Test
public void testLogin() {
UserService service = new UserServiceImpl();
String username, password;
username = "admin";
password = "12345";
User user = service.login(username,password);
if (user != null) {
System.out.println("恭喜,用户名与密码正确,登录成功!");
} else {
System.out.println("遗憾,用户名与密码正确,登录失败!");
}
}
}