今天我们进行了Java的第二次实训课,今天的代码量较大,需要操作和理解的内容更多,比较复杂,当然我们课堂中的收获也更多。
首先呢,我们需要创建Java项目,建立学生信息管理系统的主要框架。
并 添加MYSQL的驱动包,添加图片以及添加帮助文档。
主要框架的完成,我们就可以开始代码了。
我们需要创建实体类项目。
分为四段代码。
创建学校实体类:
package net.liangyi.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 + '\'' +
'}';
}
}
创建状态实体类:
package net.liangyi.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 + '\'' +
'}';
}
}
创建学生实体类:
package net.liangyi.student.bean;
/**
功能:学生实体类
作者:梁怡
日期:2020年07月09日
*/
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 + ‘’’ +
‘}’;
}
}
创建用户实体类:
package net.liangyi.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 +
'}';
}
}
然后我们就需要进行数据库的链接管理。讲代码创建在dao里面,创建一个之包impl。
package net.liangyi.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);
System.out.println("程序到此执行完毕!");
}
}
而在此容易产生一种错误
就是PASSWORD的密码。一定要与本电脑的MYSQL的密码一样,不然不会链接成功。如果将密码改过来,运行结果才会正确,如图所示:
就可以完成数据库的链接。