学生管理系统纯Java–管理界面
一、代码结构
entity包:包含了两个实体类,一个学生一个用户
repository包:包含对实体类至SQL中的操作
service包:用户操作实体类的桥梁
ui包:界面包
utils包:工具包用于连接数据库和制作界面表格的工具类
lib包:引入的jar包,连接数据库的工具包
二、各个包详解
2.1、entity包
StudentInfo.java省略get、set、toString方法
package com.sgu.entity;
public class StudentInfo {
private Integer id;
private String number;
private String name;
private String address;
}
User.java省略get、set、toString方法
public class User {
private Integer id;
private String username;
private String password;
}
2.2、repository包
StudentRepository.java
package com.sgu.repository;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.sgu.entity.StudentInfo;
import com.sgu.utils.DBUtil;
public class StudentRepository {
/**
*
* @Title: selectUser
* @Description: 执行select查询操作
* @param sql select语句
* @param args SQL语句中的参数
* @return
* @return List<User>
*/
public static List<StudentInfo> selectStudentInfo(String sql, Object[] args) {
List<StudentInfo> studentInfos = new ArrayList<StudentInfo>();
// 1.连接数据库
Connection connection = DBUtil.getConnection();
// 2.执行SQL命令
PreparedStatement pStatement = null;
ResultSet resultSet = null;
try {
pStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
pStatement.setObject((i + 1), args[i]);
}
resultSet = pStatement.executeQuery();
while (resultSet.next()) {
StudentInfo studentInfo = new StudentInfo();
studentInfo.setId(resultSet.getInt(1));
studentInfo.setNumber(resultSet.getString(2));
studentInfo.setName(resultSet.getString(3));
studentInfo.setAddress(resultSet.getString(4));
studentInfos.add(studentInfo);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtil.close(connection, pStatement, resultSet);
}
return studentInfos;
}
/**
*
* @Title: updateStudent
* @Description: 执行Insert update delete 语句
* @param sql Insert update delete 语句
* @param args Insert update delete 语句参数
* @return
* @return 受影响的行数
*/
public static int updateStudent(String sql, Object[] args) {
int n = 0;
Connection connection = DBUtil.getConnection();
PreparedStatement pStatement = null;
try {
pStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
pStatement.setObject((i + 1), args[i]);
}
n = pStatement.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return n;
}
}
UserRepository.java
package com.sgu.repository;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.sgu.entity.User;
import com.sgu.utils.DBUtil;
public class UserRepository {
/**
*
* @Title: selectUser
* @Description: 执行select查询操作
* @param sql select语句
* @param args SQL语句中的参数
* @return
* @return List<User>
*/
public static List<User> selectUser(String sql, Object[] args) {
List<User> users = new ArrayList<User>();
// 1.连接数据库
Connection connection = DBUtil.getConnection();
// 2.执行SQL命令
PreparedStatement pStatement = null;
ResultSet resultSet = null;
try {
pStatement = connection.prepareStatement(sql);
for (int i = 0; i < args.length; i++) {
pStatement.setObject((i + 1), args[i]);
}
resultSet = pStatement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getInt("id"));
user.setUsername(resultSet.getString("username"));
user.setPassword(resultSet.getString("password"));
users.add(user);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
DBUtil.close(connection, pStatement, resultSet);
}
return users;
}
/**
*
* @Title: updateUser
* @Description: 执行Insert update delete 语句
* @param sql Insert update delete 语句
* @param args Insert update delete 语句参数
* @return
* @return 受影响的行数
*/
public static int updateUser(String sql, Object[] args) {
int n = 0;
Connection connection = DBUtil.getConnection();
PreparedStatement pStatement = null;