MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上提供了许多实用的功能,如分页查询、条件构造器、自动填充等。下面是 MyBatis-Plus 的完整代码实现流程:
①、引入 MyBatis-Plus 依赖
在 Maven 中,可以通过以下方式引入 MyBatis-Plus 依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.1</version>
</dependency>
②、配置 MyBatis-Plus
在 Spring Boot 中,可以通过配置文件 application.properties
或 application.yml
来配置 MyBatis-Plus。以下是一个简单的配置示例:
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
global-config:
db-config:
id-type: auto
field-strategy: not_null
其中,mapper-locations
配置了 MyBatis Mapper 文件的路径,global-config
配置了全局的 MyBatis-Plus 配置。
③、定义实体类
定义实体类时,需要注意以下几点:
实体类需要使用 @TableName
注解指定对应的数据库表名;
实体类需要使用 @TableId
注解指定主键字段;
实体类需要使用 @TableField
注解指定非主键字段。
以下是一个简单的实体类示例:
@Data
@TableName("user")
public class User {
@TableId(type = IdType.AUTO)
private Long id;
@TableField("name")
private String name;
@TableField("age")
private Integer age;
@TableField("email")
private String email;
}
④、定义 Mapper 接口
Mapper 接口定义了对数据库的操作,其中可以使用 MyBatis-Plus 提供的通用 Mapper 或自定义 SQL 语句。
以下是一个简单的 Mapper 接口示例:
@Mapper
public interface UserMapper extends BaseMapper<User> {
// 自定义 SQL 语句 ①、我们可以在XML文件中定义具体语句,但需要注意如果在Xml文件中定义,需要在yml配置文件或者properties配置文件中配置XX.xml文件所在的路径。
②、可以直接使用注解)
@Select("SELECT * FROM user WHERE name = #{name}")
List<User> selectByName(String name);
}
在配置文件 application.yml 或 application.properties 中,需要配置 Mapper 文件的路径:
mybatis-plus:
mapper-locations: classpath:/mapper/*.xml
其中,继承了 BaseMapper<User>
后,就可以使用 MyBatis-Plus 提供的通用 Mapper 方法。同时,也可以定义自定义 SQL 语句。
使用 Service 层
Service 层是业务逻辑层,通常用于封装业务逻辑和操作数据库的代码。在使用 MyBatis-Plus 时,可以使用其提供的 Service 层,也可以自定义 Service 层。
以下是一个简单的 Service 层示例:
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public List<User> getUserByName(String name) {
return baseMapper.selectByName(name);
}
}
其中,继承了 ServiceImpl<UserMapper, User>
后,就可以使用 MyBatis-Plus 提供的 Service 方法。同时,也可以定义自定义 Service 方法。
需要注意的是我们的@service注解是写在我们XxxServiceIml上的。而我们的Xxxservice类是不需要使用注解的。平常直接使用XxxServiceimpl.方法就行。