开始对这项目有一个初步的了解,用百度脑图绘制下面的这个导图,开始不知道怎样改变文字方向。之后发现了,shiift+回车键可以换行,就是有一些麻烦。
创建数据库及表
创建java项目
在项目中创建文件夹help、images、lib
在lib里添加连接MySQL数据库的jar包
在help文件夹里添加帮助文档,在image里面添加图片
实体类
学校实体College`
package net.xmh.student.bean;
/**
* 包名:net.hw.student.bean
* 类名:College
* 描述:学校实体
* 作者:向铭涵
* 日期:2019年6月17日
*/
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 + '\'' +
'}';
}
}
状态实体Status
package net.xmh.student.bean;
/**
* 包名:net.hw.student.bean
* 类名:Status
* 描述: 状态实体
* 作者:向铭涵
* 日期:2019年6月19日
*/
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 + '\'' +
'}';
}
}
学生实体Student
package net.xmh.student.bean;
/**
* 包名:net.hw.student.bean
* 类名:Student
* 描述:学生实体
* 作者:向铭涵
* 日期:2019年6月19日
*/
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 + '\'' +
'}';
}
}
用户实体User
package net.xmh.student.bean;
/**
* 包名:net.hw.student.bean
* 类名:User
* 描述:
* 作者:向铭涵
* 日期:2019年6月19日
*/
import java.util.Date;
public class User {
/**
* 用户标识符
*/
private int id;
/**
* 用户名
*/
private String usernname;
/**
* 密码
*/
private String password;
/**
* 联系电话
*/
private String telephone;
/**
* 注册时间
*/
private Date registerTime;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsernname() {
return usernname;
}
public void setUsernname(String usernname) {
this.usernname = usernname;
}
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 + ", usernname=" + usernname + ", password=" + password + ", telephone=" + telephone
+ ", registerTime=" + registerTime + "]";
}
}
数据库连接管理类ConnectionManager
package net.xmh.student.bean.dbutil;
/**
* 包名:net.hw.student.dbutil
* 类名:ConnectionManager
* 描述:数据库连接管理类
* 作者:向铭涵
* 日期:2019年6月19日
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;
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 USERNAME = "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
+ "?useUnicode=true&characterEncoding=UTF8", USERNAME, 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);
}
}
ConnectionManager运行结果
数据访问接口
学校数据访问接口CollegeDao
package net.xmh.student.bean.dao.impl;
import net.xmh.student.bean.College;
/**
* 功能:学校数据访问接口
* 作者:向铭涵
* 日期:2019年6月17日
*/
public interface CollegeDao {
College findById(int id);
int update(College college);
}
状态数据访问接口StatusDao
package net.xmh.student.bean.dao.impl;
import net.xmh.student.bean.Status;
/**
* 功能:状态数据访问接口
* 作者:向铭涵
* 日期:2019年6月17日
*/
public interface StatusDao {
Status findById(int id);
int update(Status status);}
学生数据访问接口StudentDao
package net.xmh.student.bean.dao.impl;
import net.xmh.student.bean.Student;
import java.util.List;
import java.util.Vector;
/**
* 功能:状态数据访问接口
* 作者:向铭涵
* 日期:2019年6月17日
*/
public interface StudentDao {
int insert(Student student);
int deleteById(String id);
int deleteByClass(String clazz);
int deleteByDepartment(String department);
int update(Student student);
Student findById(String id);
List<Student> findByName(String name);
List<Student> findByClass(String clazz);
List<Student> findByDepartment(String department);
List<Student> findAll();
Vector findRowsBySex();
Vector findRowsByClass();
Vector findRowsByDepartment();
}
用户数据访问接口UserDao
package net.xmh.student.bean.dao.impl;
import net.xmh.student.bean.User;
import java.util.List;
/**
* 功能:用户数据访问接口
* 作者:xmh
* 日期:2019年6月17日
*/
public interface UserDao {
int insert(User user);
int deleteById(int id);
int update(User user);
User findById(int id);
List<User> findAll();
User login(String username, String password);
}