mapper与entity层
时间: 2024-02-15 07:05:26 浏览: 99
在使用 MyBatis 或 MyBatis-Plus 框架时,通常会使用 Mapper 接口和实体类来操作数据库,分别对应于 Mapper 层和 Entity 层。
Mapper 层负责定义 SQL 语句和映射关系,可以使用 XML 或注解的方式来编写,例如:
```
<!-- XML 方式 -->
<mapper namespace="com.example.mapper.UserMapper">
<select id="selectById" parameterType="java.lang.Long" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
// 注解方式
@Mapper
public interface UserMapper {
@Select("SELECT * FROM user WHERE id = #{id}")
User selectById(Long id);
}
```
Entity 层负责定义数据表中的字段和 Java 对象之间的映射关系,通常对应于一个 POJO 类,例如:
```
public class User {
private Long id;
private String username;
private String password;
// getter 和 setter 方法省略
}
```
在使用 MyBatis-Plus 框架时,可以使用 `@TableName` 注解来指定实体类对应的数据表名,使用 `@TableField` 注解来指定实体类字段与数据表中字段的映射关系,例如:
```
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
@TableField("username")
private String name;
@TableField("password")
private String pwd;
// getter 和 setter 方法省略
}
```
这样,在使用 MyBatis-Plus 提供的 CRUD 方法时,就可以自动进行 SQL 语句和实体类字段之间的映射,无需手动编写。
阅读全文