使用Java编写应聘者录入功能数据库交互层
时间: 2024-02-09 20:07:37 浏览: 23
好的,下面是一个简单的Java代码示例,用于实现应聘者录入功能的数据库交互层:
```java
import java.sql.*;
public class ApplicantDAO {
// 数据库连接信息
private static final String URL = "jdbc:mysql://localhost:3306/hrdb";
private static final String USERNAME = "root";
private static final String PASSWORD = "password";
// 添加应聘者信息
public void addApplicant(Applicant applicant) {
try (Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement ps = conn.prepareStatement("INSERT INTO applicants (name, age, gender, education, phone, email) VALUES (?, ?, ?, ?, ?, ?)")) {
// 设置参数
ps.setString(1, applicant.getName());
ps.setInt(2, applicant.getAge());
ps.setString(3, applicant.getGender());
ps.setString(4, applicant.getEducation());
ps.setString(5, applicant.getPhone());
ps.setString(6, applicant.getEmail());
// 执行插入操作
ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
// 根据姓名查询应聘者信息
public Applicant getApplicantByName(String name) {
Applicant applicant = null;
try (Connection conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement ps = conn.prepareStatement("SELECT * FROM applicants WHERE name = ?")) {
// 设置参数
ps.setString(1, name);
// 执行查询操作
ResultSet rs = ps.executeQuery();
// 处理结果集
if (rs.next()) {
applicant = new Applicant();
applicant.setName(rs.getString("name"));
applicant.setAge(rs.getInt("age"));
applicant.setGender(rs.getString("gender"));
applicant.setEducation(rs.getString("education"));
applicant.setPhone(rs.getString("phone"));
applicant.setEmail(rs.getString("email"));
}
} catch (SQLException e) {
e.printStackTrace();
}
return applicant;
}
}
```
在上面的代码中,我们使用了JDBC API来连接和操作MySQL数据库。首先,我们定义了数据库连接信息,然后编写了添加应聘者信息和查询应聘者信息的方法。在添加应聘者信息的方法中,我们使用了PreparedStatement对象来执行插入操作,其中设置了应聘者的各项信息。在查询应聘者信息的方法中,我们使用了PreparedStatement对象来执行查询操作,并将查询结果封装到Applicant对象中返回。
当我们需要调用这些方法时,只需创建一个ApplicantDAO对象,然后调用对应的方法即可。例如,要添加一个名为张三、年龄为25岁、性别为男、学历为本科、电话为13888888888、邮箱为zhangsan@qq.com的应聘者信息,可以这样调用addApplicant()方法:
```java
ApplicantDAO dao = new ApplicantDAO();
Applicant applicant = new Applicant("张三", 25, "男", "本科", "13888888888", "zhangsan@qq.com");
dao.addApplicant(applicant);
```
要查询名为张三的应聘者信息,可以这样调用getApplicantByName()方法:
```java
ApplicantDAO dao = new ApplicantDAO();
Applicant applicant = dao.getApplicantByName("张三");
System.out.println(applicant);
```
当然,为了使上述代码正常运行,你需要先在MySQL数据库中创建一个名为hrdb的数据库,并在其中创建一个名为applicants的表,用于存储应聘者信息。表结构可以如下所示:
```sql
CREATE TABLE `applicants` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`age` int(11) NOT NULL,
`gender` varchar(10) NOT NULL,
`education` varchar(50) NOT NULL,
`phone` varchar(20) NOT NULL,
`email` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
以上就是一个实现应聘者录入功能的简单Java代码示例,希望能对你有所帮助。