视图(Mapper)
Mapper 是 MyBatis 的数据访问层接口,用于与数据库进行交互,遵循 MyBatis Plus 的书写规范
文件位置


目录原则
保持与 Entity 层的目录结构一致,这样调用时方便查找
接口定义规范
继承关系
Mapper 接口有两种继承方式:
MPJBaseMapper:来自
mybatisplusjoin,支持连表查询功能BaseMapper:来自
MyBatis Plus,提供基础的 CRUD 功能
项目中大部分 Mapper 都继承自 MPJBaseMapper,便于后期进行复杂的连表查询操作
命名规范
Mapper 接口命名:
{实体类名称}Mapper包路径:
com.niu.core.mapper.{功能模块}
注解使用
@Mapper
用于标记接口为 MyBatis 的 Mapper 接口,系统启动时会自动扫描并注入 Spring 容器
java
@Mapper
public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}Mapper 实现实例
继承 MPJBaseMapper 的 Mapper
java
package com.niu.core.mapper.sys;
import com.github.yulichang.base.MPJBaseMapper;
import com.niu.core.entity.sys.SysUser;
import org.apache.ibatis.annotations.Mapper;
/**
* 后台管理员 Mapper
*/
@Mapper
public interface SysUserMapper extends MPJBaseMapper<SysUser> {
}继承 BaseMapper 的 Mapper
java
package com.niu.core.mapper.sys;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.niu.core.entity.sys.SysBackupRecords;
import org.apache.ibatis.annotations.Mapper;
/**
* 备份记录 Mapper
*/
@Mapper
public interface SysBackupRecordsMapper extends BaseMapper<SysBackupRecords> {
}商品相关 Mapper
java
package com.niu.core.mapper.shop;
import com.github.yulichang.base.MPJBaseMapper;
import com.niu.core.entity.shop.MallGoods;
import org.apache.ibatis.annotations.Mapper;
/**
* 商品表 Mapper
*/
@Mapper
public interface MallGoodsMapper extends MPJBaseMapper<MallGoods> {
}调用方式
Mapper 接口在 Service 层通过 @Resource 或 @Autowired 注解进行注入使用:
java
@Service
public class SysUserServiceImpl implements ISysUserService {
@Resource
private SysUserMapper sysUserMapper;
@Override
public SysUser getById(Integer id) {
return sysUserMapper.selectById(id);
}
// 其他方法...
}