JAVA

    技术2024-07-09  80

    JAVA-学生信息管理系统-实训2

    一、创建JAVA项目 1.创建java项目“学生信息管理系统(张婷)”

    2.在项目里创建文件夹help,images,lib。 3.在lib中添加MySQL数据库驱动程序包 添加完成后:

    4.在images中添加图片素材 5.在help中添加帮助文档

    二、在src里创建net.hw.student.bean包 1.创建学校实体类对应学校表

    package net.zt.student.bean; import java.util.Date; public class College { private int id;//学校标识符 private String name;//学校名称 private String president;//校长 private Date startTime;//建校时间 private String telephone;//联系电话 private String email;//电子邮箱 private String address;//通讯地址 private String profile;//学校简介 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPresident() { return president; } public void setPresident(String president) { this.president = president; } public Date getStartTime() { return startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getProfile() { return profile; } public void setProfile(String profile) { this.profile = profile; } @Override public String toString() { return "College{" + "id=" + id + ", name='" + name + '\'' + ", president='" + president + '\'' + ", startTime=" + startTime + ", telephone='" + telephone + '\'' + ", email='" + email + '\'' + ", address='" + address + '\'' + ", profile='" + profile + '\'' + '}'; } }

    2.、创建状态实体类对应状态表

    package net.zt.student.bean; public class Status { private int id; // 状态标识符 private String college; // 校名 private String version; // 软件版本 private String author; // 软件作者 private String telephone; // 联系电话 private String address; // 通信地址 private String email; // 电子邮箱 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getCollege() { return college; } public void setCollege(String college) { this.college = college; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return "Status{" + "id=" + id + ", college='" + college + '\'' + ", version='" + version + '\'' + ", author='" + author + '\'' + ", telephone='" + telephone + '\'' + ", address='" + address + '\'' + ", email='" + email + '\'' + '}'; } }

    3.创建学生实体类对应学生表

    package net.zt.student.bean; public class Student { private String id; // 学号 private String name; // 姓名 private String sex; // 性别 private int age; // 年龄 private String department; // 系部 private String clazz; // 班级 private String telephone; // 联系电话 public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getDepartment() { return department; } public void setDepartment(String department) { this.department = department; } public String getClazz() { return clazz; } public void setClazz(String clazz) { this.clazz = clazz; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } @Override public String toString() { return "Student{" + "id='" + id + '\'' + ", name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", department='" + department + '\'' + ", clazz='" + clazz + '\'' + ", telephone='" + telephone + '\'' + '}'; } }

    4.创建用户实体类对应用户表

    package net.zt.student.bean; import java.util.Date; public class User { private int id; // 用户标识符 private String username; // 用户名 private String password; // 密码 private String telephone; // 联系电话 private Date registerTime; // 注册时间 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getTelephone() { return telephone; } public void setTelephone(String telephone) { this.telephone = telephone; } public Date getRegisterTime() { return registerTime; } public void setRegisterTime(Date registerTime) { this.registerTime = registerTime; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + ", telephone='" + telephone + '\'' + ", registerTime=" + registerTime + '}'; } }

    三、在src里创建net.hw.student.dbutil包 1.在包里创建数据库连接管理类ConnectionManager

    package net.zt.student.dbutil; import javax.swing.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionManager { private static final String DRIVER = "com.mysql.jdbc.Driver"; // 数据库驱动程序 private static final String URL = "jdbc:mysql://localhost:3306/student"; //数据库统一资源标识符 private static final String USER = "root"; // 数据库用户 private static final String PASSWORD = "123456"; // 数据库密码 /** * 私有化构造方法,拒绝实例化 */ private ConnectionManager() { } /** * 获取数据库连接静态方法 * * @return 数据库连接对象 */ public static Connection getConnection() { // 定义数据库连接 Connection conn = null; try { // 安装数据库驱动程序 Class.forName(DRIVER); // 获取数据库连接 conn = DriverManager.getConnection(URL, USER, PASSWORD); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } // 返回数据库连接 return conn; } /** * 关闭数据连接静态方法 * * @param conn */ public static void closeConnection(Connection conn) { // 判断数据库连接是否非空 if (conn != null) { try { // 判断连接是否未关闭 if (!conn.isClosed()) { // 关闭数据库连接 conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } /** * 主方法:测试两个静态方法 * * @param args */ public static void main(String[] args) { // 获取数据库连接 Connection conn = getConnection(); // 判断数据库连接是否成功 if (conn != null) { JOptionPane.showMessageDialog(null, "恭喜,数据库连接成功!"); } else { JOptionPane.showMessageDialog(null, "遗憾,数据库连接失败!"); } // 关闭数据库连接 closeConnection(conn); } }

    运行程序,测试数据库连接是否成功 四、在src里创建net.hw.student.test包 1.创建添加用户记录类DisplayAllUsers

    package net.zt.student.test; import net.zt.student.bean.User; import net.zt.student.dbutil.ConnectionManager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class DisplayAllUsers { public static void main(String[] args) { //1.获取数据库连接 Connection conn = ConnectionManager.getConnection(); //2.定义SQL字符串 String strSQL = "select * from t_user"; //3.创建语句对象 try { Statement stmt = conn.createStatement(); //4.执行SQL查询,返回结果集 ResultSet rs = stmt.executeQuery(strSQL); //5.遍历结果值 while (rs.next()) { //6.创建用户实体对象 User user = new User(); //7.利用当前记录各个字段 user.setId(rs.getInt("id")); user.setUsername(rs.getString("username")); user.setPassword(rs.getString("password")); user.setTelephone(rs.getString("telephone")); user.setRegisterTime(rs.getTimestamp("register_time")); //8.输出实体对象 System.out.println(user); } } catch (SQLException throwables) { throwables.printStackTrace(); } finally { //9.关闭数据库连接诶 ConnectionManager.closeConnection(conn); } } }

    运行程序 2.按编号查找用户记录FindUserByID

    package net.zt.student.test; import net.zt.student.dbutil.ConnectionManager; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Scanner; public class FindUserByID { public static void main(String[] args) { // 声明部分 String username; String password; Scanner sc = new Scanner(System.in); // 输入部分 System.out.print("输入用户名:"); username = sc.next(); System.out.print("输入密码:"); password = sc.next(); // 处理部分 // 1. 获取数据库连接 Connection conn = ConnectionManager.getConnection(); try { // 2. 定义SQL字符串 String strSQL = "select * from t_user where username = ? and password = ?"; // 3. 创建预备语句对象 PreparedStatement pstmt = conn.prepareStatement(strSQL); // 4. 设置占位符的值 pstmt.setString(1, username); pstmt.setString(2, password); // 5. 执行SQL语句,返回结果集 ResultSet rs = pstmt.executeQuery(); // 6. 判断结果集是否为空 if (rs.next()) { System.out.println("恭喜,登录成功!"); } else { System.err.println("遗憾,登录失败!"); } } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 ConnectionManager.closeConnection(conn); } } }

    运行程序 总结完毕!

    Processed: 0.028, SQL: 9