用Java做个人简历系统并能让数据与数据库连接1个人简历信息录入功能--输入;2增加个人简历信息;3个人简历信息浏览--输出;4按身份证号查询信息;5个人简历信息删除;6个人简历信息修改;7数据保存8数据读取
实现上述需求,需要使用Java语言和数据库技术。以下是一个简单的示例代码:
- 创建数据库表
CREATE TABLE resume (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(50) NOT NULL,
gender varchar(10) NOT NULL,
birthday date NOT NULL,
id_number varchar(18) NOT NULL,
phone varchar(20) NOT NULL,
email varchar(50) NOT NULL,
address varchar(100) NOT NULL,
education varchar(50) NOT NULL,
major varchar(50) NOT NULL,
experience varchar(500) NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY id_number (id_number)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
- 创建Java类
Resume.java
public class Resume { private int id; private String name; private String gender; private Date birthday; private String idNumber; private String phone; private String email; private String address; private String education; private String major; private String experience;
// getters and setters
}
ResumeDAO.java
public class ResumeDAO { private Connection conn;
public ResumeDAO() {
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/resume", "username", "password");
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
public void addResume(Resume resume) {
try {
PreparedStatement ps = conn.prepareStatement("INSERT INTO resume (name, gender, birthday, id_number, phone, email, address, education, major, experience) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
ps.setString(1, resume.getName());
ps.setString(2, resume.getGender());
ps.setDate(3, new java.sql.Date(resume.getBirthday().getTime()));
ps.setString(4, resume.getIdNumber());
ps.setString(5, resume.getPhone());
ps.setString(6, resume.getEmail());
ps.setString(7, resume.getAddress());
ps.setString(8, resume.getEducation());
ps.setString(9, resume.getMajor());
ps.setString(10, resume.getExperience());
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Resume> getAllResumes() {
List<Resume> resumes = new ArrayList<>();
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM resume");
while (rs.next()) {
Resume resume = new Resume();
resume.setId(rs.getInt("id"));
resume.setName(rs.getString("name"));
resume.setGender(rs.getString("gender"));
resume.setBirthday(rs.getDate("birthday"));
resume.setIdNumber(rs.getString("id_number"));
resume.setPhone(rs.getString("phone"));
resume.setEmail(rs.getString("email"));
resume.setAddress(rs.getString("address"));
resume.setEducation(rs.getString("education"));
resume.setMajor(rs.getString("major"));
resume.setExperience(rs.getString("experience"));
resumes.add(resume);
}
} catch (SQLException e) {
e.printStackTrace();
}
return resumes;
}
public Resume getResumeByIdNumber(String idNumber) {
try {
PreparedStatement ps = conn.prepareStatement("SELECT * FROM resume WHERE id_number = ?");
ps.setString(1, idNumber);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
Resume resume = new Resume();
resume.setId(rs.getInt("id"));
resume.setName(rs.getString("name"));
resume.setGender(rs.getString("gender"));
resume.setBirthday(rs.getDate("birthday"));
resume.setIdNumber(rs.getString("id_number"));
resume.setPhone(rs.getString("phone"));
resume.setEmail(rs.getString("email"));
resume.setAddress(rs.getString("address"));
resume.setEducation(rs.getString("education"));
resume.setMajor(rs.getString("major"));
resume.setExperience(rs.getString("experience"));
return resume;
}
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
public void deleteResumeByIdNumber(String idNumber) {
try {
PreparedStatement ps = conn.prepareStatement("DELETE FROM resume WHERE id_number = ?");
ps.setString(1, idNumber);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void updateResumeByIdNumber(String idNumber, Resume newResume) {
try {
PreparedStatement ps = conn.prepareStatement("UPDATE resume SET name = ?, gender = ?, birthday = ?, id_number = ?, phone = ?, email = ?, address = ?, education = ?, major = ?, experience = ? WHERE id_number = ?");
ps.setString(1, newResume.getName());
ps.setString(2, newResume.getGender());
ps.setDate(3, new java.sql.Date(newResume.getBirthday().getTime()));
ps.setString(4, newResume.getIdNumber());
ps.setString(5, newResume.getPhone());
ps.setString(6, newResume.getEmail());
ps.setString(7, newResume.getAddress());
ps.setString(8, newResume.getEducation());
ps.setString(9, newResume.getMajor());
ps.setString(10, newResume.getExperience());
ps.setString(11, idNumber);
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void close() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
- 编写测试代码
public class Main { public static void main(String[] args) { ResumeDAO dao = new ResumeDAO();
// 添加一条简历信息
Resume resume = new Resume();
resume.setName("张三");
resume.setGender("男");
resume.setBirthday(new Date(1990, 1, 1));
resume.setIdNumber("110101199001010001");
resume.setPhone("13800000001");
resume.setEmail("zhangsan@example.com");
resume.setAddress("北京市朝阳区");
resume.setEducation("本科");
resume.setMajor("计算机科学与技术");
resume.setExperience("2012年-2016年,就读于XX大学,获得计算机科学与技术本科学位");
dao.addResume(resume);
// 获取所有简历信息
List<Resume> resumes = dao.getAllResumes();
for (Resume r : resumes) {
System.out.println(r.getName() + " " + r.getGender() + " " + r.getIdNumber());
}
// 根据身份证号查询简历信息
Resume r = dao.getResumeByIdNumber("110101199001010001");
if (r != null) {
System.out.println(r.getName() + " " + r.getGender() + " " + r.getIdNumber());
}
// 更新简历信息
Resume newResume = new Resume();
newResume.setName("李四");
newResume.setGender("女");
newResume.setBirthday(new Date(1995, 1, 1));
newResume.setIdNumber("110101199501010001");
newResume.setPhone("13800000002");
newResume.setEmail("lisi@example.com");
newResume.setAddress("北京市海淀区");
newResume.setEducation("硕士");
newResume.setMajor("软件工程");
newResume.setExperience("2014年-2017年,就读于XX大学,获得软件工程硕士学位");
dao.updateResumeByIdNumber("110101199001010001", newResume);
// 删除简历信息
dao.deleteResumeByIdNumber("110101199501010001");
dao.close();
}
}
以上代码实现了一个简单的个人简历系统,并能让数据与数据库连接。其中,Resume类表示简历信息,ResumeDAO类封装了数据库操作方法,Main类提供了测试代码。通过这个示例,可以了解Java与数据库的交互方式
原文地址: https://www.cveoy.top/t/topic/fUy4 著作权归作者所有。请勿转载和采集!