第三步:创建实体类和 Mapper 文件
现在我们已经设计好了数据库表结构,接下来要使用 MyBatis 将这些表映射到 Java 对象,以便在代码中进行操作。
1. 创建实体类
在 src/main/java/<your_package>/entity
目录下 (如果没有该目录,请手动创建),创建与数据库表对应的实体类。
例如,User.java
实体类:
package com.example.onlinediagnosis.entity;
import lombok.Data;
import java.util.Date;
@Data
public class User {
private Integer id;
private String username;
private String password;
private Integer role;
private String realName;
private Integer gender;
private Integer age;
private String phone;
private Date createdAt;
private Date updatedAt;
}
同样的,创建 Question
, Answer
, Prescription
, Medicine
等实体类,并根据数据库表结构定义相应的属性。
2. 创建 Mapper 接口
在 src/main/java/<your_package>/mapper
目录下,创建与数据库表对应的 Mapper 接口。
例如,UserMapper.java
接口:
package com.example.onlinediagnosis.mapper;
import com.example.onlinediagnosis.entity.User;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface UserMapper {
User findByUsername(String username);
// 其他数据库操作方法...
}
-
@Mapper
注解告诉 MyBatis 将该接口与一个 Mapper XML 文件关联起来。 -
findByUsername
方法定义了一个查询方法,用于根据用户名查找用户。
同样地,创建其他实体类对应的 Mapper 接口,并定义相应的数据库操作方法。
3. 创建 Mapper XML 文件
在 src/main/resources/mapper
目录下,创建与 Mapper 接口对应的 XML 文件,用于编写 SQL 语句。
例如,UserMapper.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.onlinediagnosis.mapper.UserMapper">
<select id="findByUsername" resultType="com.example.onlinediagnosis.entity.User">
SELECT * FROM user WHERE username = #{username}
</select>
<!-- 其他 SQL 语句... -->
</mapper>
-
namespace
属性对应 Mapper 接口的全限定名。 -
select
元素定义了一个查询语句,id
属性对应 Mapper 接口中的方法名,resultType
属性指定查询结果的类型。
同样地,创建其他 Mapper 接口对应的 XML 文件,并编写相应的 SQL 语句。
4. 配置 MyBatis
在 application.properties
文件中添加 MyBatis 配置:
mybatis.mapper-locations=classpath:m