MyBatis-Plus 是 MyBatis 的增强工具,在 MyBatis 的基础上加入了许多实用的功能,提高了开发效率。它是一个基于 MyBatis 的自动生成器插件,可以自动生成 DAO、Mapper、Entity 等相关代码,还提供了通用的 CRUD 接口和实现,简化了开发流程。
MyBatis-Plus 的核心模块主要包括:
-
MyBatis-Plus Generator:代码生成器,可以根据数据库表自动生成 DAO、Mapper、Entity 等相关代码。
-
MyBatis-Plus Core:核心模块,提供了通用的 CRUD 接口和实现。
MyBatis-Plus 的使用方法:
- 引入 MyBatis-Plus 依赖:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis.plus.version}</version>
</dependency>
- 配置 MyBatis-Plus:
@Configuration
@MapperScan(basePackages = {"com.example.mapper"})
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
return new PaginationInterceptor();
}
}
其中,@MapperScan 注解指定了 Mapper 接口所在的包名,PaginationInterceptor 用于分页插件的配置。
- 定义实体类和 Mapper 接口:
@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}
public interface UserMapper extends BaseMapper<User> {
}
其中,@Data 注解可以自动生成 getter、setter、toString 等方法,BaseMapper 提供了通用的 CRUD 方法,可以直接使用。
- 使用 MyBatis-Plus:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User getById(Long id) {
return userMapper.selectById(id);
}
@Override
public List<User> list() {
return userMapper.selectList(null);
}
@Override
public boolean save(User user) {
return userMapper.insert(user) > 0;
}
@Override
public boolean update(User user) {
return userMapper.updateById(user) > 0;
}
@Override
public boolean removeById(Long id) {
return userMapper.deleteById(id) > 0;
}
}
以上就是 MyBatis-Plus 的概念及使用方法。总的来说,MyBatis-Plus 简化了 MyBatis 的开发流程,提高了开发效率,值得使用。