通常一个接口定义后,从持久层开始开发。
对于一个新模块需要使用工具生成模型类、mapper接口、mapper映射文件等,下边介绍一个工具用于自动生成代码。
1. 代码生成工具
1.1 安装插件
1.2 重启IDEA,连接mysql
1.3 配置代码生成规则
点击“check field”选择表中的字段。
点击“code generatro”生成代码。
生成成功在项目工程根目录有一个mymodule目录,里边为生成的代码,如下图:
对生成的代码根据自己的需求稍加修改,修改后拷贝到工程相应的包下即可。
2. mapper开发
如果MyBatisPlus提供的单表的CRUD的mapper满足需求则不需要单独定义mapper接口,否则需要单独定义mapper接口。
如果接口要返回的数据包括多张表的数据,而MybatisPlus提供的CRUD是针对单表的,需要自定义mapper实现多表关联查询。
先定义mapper接口,再定义mapper映射。
3. 单元测试
如果自定义了接口,要进行单元测试。
@SpringBootTest
@Slf4j
class MapperTest {
@Resource
private Mapper mapper;
@Test
void test_queryByRegionId() {
List<ServeResDTO> serveResDTOS = serveMapper.queryByRegionId(1686303222843662337L);
Assert.notEmpty(serveResDTOS,"列表为空");
}
}
-
@SpringBootTest
:- 这个注解表示测试类将运行在 Spring Boot 环境中,会加载整个 Spring 应用上下文。这对于测试依赖于 Spring 的组件和 Bean 的代码非常有用。
-
@Slf4j
:- 这是一个来自 Lombok 的注解,用于自动生成一个名为
log
的日志记录器对象。在测试代码中,这个记录器可以用于记录测试的日志信息。
- 这是一个来自 Lombok 的注解,用于自动生成一个名为
-
@Resource
:- 这是 JSR-250 中定义的注解,用于依赖注入。在这个测试类中,
@Resource
注解用于注入mapper
接口的实例,该实例将用于执行queryByRegionId
方法的测试。
- 这是 JSR-250 中定义的注解,用于依赖注入。在这个测试类中,
Assert.notEmpty(serveResDTOS, "列表为空");
:
- 这是一个断言,用于检查
serveResDTOS
列表是否为空。Assert.notEmpty
方法会验证serveResDTOS
列表是否包含至少一个元素,如果为空,则会抛出异常,并输出 "列表为空" 的错误信息。