创建Java项目,应用MyBatis框架,对员工表进行如下操作: 1、 分别根据id、根据姓名查询员工信息、查询所有员工信息 2、 新增员工信息、根据id修改员工信息、根据id删除员工信息。
时间: 2024-02-01 11:02:35 浏览: 103
Mybatis框架(单表添加修改删除)
这里提供一个实现MyBatis框架的Java项目,对员工表进行基本的增删改查操作。
1. 创建数据库和表
首先,我们需要在MySQL中创建一个数据库和一个员工表,用于存储员工信息。可以使用以下SQL语句创建:
```mysql
CREATE DATABASE IF NOT EXISTS employee_management DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
USE employee_management;
CREATE TABLE IF NOT EXISTS employee (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50),
age INT,
gender VARCHAR(10),
email VARCHAR(50),
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_general_ci;
```
2. 添加MyBatis依赖
在Maven项目中,我们需要在pom.xml文件中添加MyBatis依赖:
```xml
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
```
3. 创建实体类
我们需要创建一个Employee类,用于描述员工信息,代码如下:
```java
public class Employee {
private int id;
private String name;
private int age;
private String gender;
private String email;
// 省略getter和setter方法
}
```
4. 创建Mapper接口
在Java中,我们可以使用Mapper接口来定义SQL语句,这样可以方便地进行增删改查操作。我们需要创建一个EmployeeMapper接口,定义以下方法:
```java
public interface EmployeeMapper {
// 根据id查询员工信息
Employee getEmployeeById(int id);
// 根据姓名查询员工信息
List<Employee> getEmployeesByName(String name);
// 查询所有员工信息
List<Employee> getAllEmployees();
// 新增员工信息
void addEmployee(Employee employee);
// 根据id修改员工信息
void updateEmployee(Employee employee);
// 根据id删除员工信息
void deleteEmployee(int id);
}
```
5. 创建Mapper映射文件
在MyBatis中,我们需要创建一个Mapper映射文件,用于定义SQL语句和Mapper接口方法的对应关系。我们需要创建一个EmployeeMapper.xml文件,代码如下:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.EmployeeMapper">
<!-- 根据id查询员工信息 -->
<select id="getEmployeeById" parameterType="int" resultType="com.example.model.Employee">
SELECT * FROM employee WHERE id = #{id}
</select>
<!-- 根据姓名查询员工信息 -->
<select id="getEmployeesByName" parameterType="String" resultType="com.example.model.Employee">
SELECT * FROM employee WHERE name LIKE CONCAT('%', #{name}, '%')
</select>
<!-- 查询所有员工信息 -->
<select id="getAllEmployees" resultType="com.example.model.Employee">
SELECT * FROM employee
</select>
<!-- 新增员工信息 -->
<insert id="addEmployee" parameterType="com.example.model.Employee">
INSERT INTO employee(name, age, gender, email)
VALUES(#{name}, #{age}, #{gender}, #{email})
</insert>
<!-- 根据id修改员工信息 -->
<update id="updateEmployee" parameterType="com.example.model.Employee">
UPDATE employee
SET name = #{name}, age = #{age}, gender = #{gender}, email = #{email}
WHERE id = #{id}
</update>
<!-- 根据id删除员工信息 -->
<delete id="deleteEmployee" parameterType="int">
DELETE FROM employee WHERE id = #{id}
</delete>
</mapper>
```
6. 创建MyBatis配置文件
在MyBatis中,我们需要创建一个配置文件,用于指定Mapper映射文件的位置和数据库连接信息。我们需要创建一个mybatis-config.xml文件,代码如下:
```xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/employee_management?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/EmployeeMapper.xml"/>
</mappers>
</configuration>
```
7. 创建SqlSessionFactory并获取SqlSession
在Java中,我们需要创建一个SqlSessionFactory对象,用于获取SqlSession对象。SqlSession对象可以用于执行Mapper接口中定义的方法。我们需要创建一个MyBatisUtil类,代码如下:
```java
public class MyBatisUtil {
private static SqlSessionFactory sqlSessionFactory;
static {
try {
Reader reader = Resources.getResourceAsReader("mybatis-config.xml");
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSqlSession() {
return sqlSessionFactory.openSession();
}
}
```
8. 测试增删改查操作
现在,我们可以使用EmployeeMapper接口中定义的方法进行增删改查操作了。下面是一个测试类的例子:
```java
public class Test {
public static void main(String[] args) {
// 新增员工信息
Employee employee1 = new Employee();
employee1.setName("Tom");
employee1.setAge(25);
employee1.setGender("Male");
employee1.setEmail("tom@example.com");
EmployeeMapper mapper = MyBatisUtil.getSqlSession().getMapper(EmployeeMapper.class);
mapper.addEmployee(employee1);
// 根据id查询员工信息
Employee employee2 = mapper.getEmployeeById(1);
System.out.println(employee2.getName());
// 根据姓名查询员工信息
List<Employee> employees = mapper.getEmployeesByName("Tom");
for (Employee employee : employees) {
System.out.println(employee.getName());
}
// 查询所有员工信息
List<Employee> allEmployees = mapper.getAllEmployees();
for (Employee employee : allEmployees) {
System.out.println(employee.getName());
}
// 根据id修改员工信息
Employee employee3 = mapper.getEmployeeById(1);
employee3.setName("Jerry");
mapper.updateEmployee(employee3);
// 根据id删除员工信息
mapper.deleteEmployee(1);
MyBatisUtil.getSqlSession().commit();
MyBatisUtil.getSqlSession().close();
}
}
```
以上就是一个使用MyBatis框架对员工表进行增删改查操作的Java项目。
阅读全文