第三步:创建实体类和 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