Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结

作用

当集成Mybatis-Plus 后,我们的大部分数据库操作都可以通过 XxxxxMapper ,同时 Mybatis-plus 在Mapper 提供基本操作方法的同时,也提供类基础的 serviceImpl 来帮助我们完成一些常见的基本操作。

使用

一般情况下,我们首先要建立Entity ,基本操作可以参考 mybatis-plus 基本集成以及使用,分页等

注意里面的标注在Entity 属性上的注解 @TableField 可以忽略不写,会自动适应驼峰式书写规范,大小写拼接处会被替换为 下划线

创建完成entity 后就要创建基本的Mapper 并集成 Mybatis-plus 提供的基础Mapper 完成基础适配
例如:

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;

@Repository
public interface XxxxMapper extends BaseMapper<XxxxEntity> {
}

然后在我们的service 去集成 Mybatis-plus 内部提供的 ServiceImpl 即可,例如:

@Service
@Slf4j
public class XxxxServiceImpl extends ServiceImpl<XxxxMapper, XxxxEntity> implements XxxxService {
	// ........其他正常的业务注入与业务代码
}

其中 implements XxxxService 为我自己定义的接口类,与框架无关,实际需要的是 extends ServiceImpl 这一部分

当继承后,我们将可以直接使用改类内部提供的方法,见下方源码

源码

部分源码如下
Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结_第1张图片
内部向我们提供了 如下公共方法,可以直接使用,甚至还为我们添加了事务回滚
Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结_第2张图片
提供了大量包含事务的批量操作
Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结_第3张图片
Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结_第4张图片
还有大批量的删除操作,也包含了事务
Mybatis-plus 内部提供的 ServiceImpl<M extends BaseMapper<T>, T> 学习总结_第5张图片
继承之后基本可以满足我们大部分基础场景的使用。

你可能感兴趣的:(#,数据库持久层框架,mybatis,java)