Mybatis Plus开发规范
开发标准格式
- infra
- dao
- mapper
- OrderMapper.java
- impl
- OrderDAOImpl.java OrderDAO.java
- mapper
- entity
- OrderDO.java
- dao
具体的代码如下:
- OrderDO
@Data
public class OrderDO {
}
- OrderMapper
@Mapper
public interface OrderMapper extends BaseMapper<OrderDO> {
}
- OrderDAO
public interface OrderDAO extends IService<OrderDO> {
}
- OrderDAOImpl
@Repository
@RequiredArgsConstructor
public class OrderDAOImpl extends ServiceImpl<OrderMapper, OrderDO> implements OrderDAO {
private final InfluhubOrderMapper influhub_orderMapper;
}
目的
主要是不要将ServiceImpl暴露到Servcie
这样做的好处是
- 可以将所有数据库查询操作封装在DAO层
- 以后需要做数据库相关的改造封装,仅需关注
DAO层
如果由Servcie直接继承ServiceImpl,会出现如下问题
- 大量SQL查询逻辑写在
Service层,无法复用 Service层更应关注业务逻辑处理,而不是数据查询条件构建- 后续需要对SQL进行拦截改写,
Servcie直接继承ServiceImpl调用ServiceImpl无法添加注解进行AOP切面拦截,因为ServiceImpl的方法在jar中