1 引入pom
xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot</artifactId>
<version>2.7.14</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.29</version>
</dependency>
2 编写配置类MybatisPlusConfig
java
@Configuration
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
3 业务实现
3.1 Controller层
java
@Autowired
IComponentService componentService;
@ApiOperation(value = "查询基础组件列表", notes = "根据条件查询基础组件列表")
@GetMapping("/list")
public ResponseMessage<IPage<Component>> queryList(@RequestBody QueryEntity<ComponentDTO> queryEntity){
IPage<Component> page = new Page<>(queryEntity.getPageNum(), queryEntity.getPageSize());
LambdaQueryWrapper<Component> query = new LambdaQueryWrapper<>();
// query.eq(Component::getType, queryEntity.getQuery().getType());
return ResponseMessage.success("查询成功",componentService.queryList(page,query));
}
3.2 service层
java
IPage<Component> queryList(IPage<Component> page, LambdaQueryWrapper<Component> queryWrapper);
3.3 service实现层
java
@Override
public IPage<Component> queryList(IPage<Component> page, LambdaQueryWrapper<Component> queryWrapper) {
return componentMapper.selectPage(page,queryWrapper);
}
3.4 dao层
java
@Mapper
public interface ComponentMapper extends BaseMapper<Component> {
}
4 yaml配置
yaml
server:
#运行端口号
port: 8090
servlet:
context-path: /hom
spring:
# mvc:
# pathmatch:
# matching-strategy: ANT_PATH_MATCHER
#数据源配置
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/hom?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: marlon
#mybatis-plus配置
mybatis-plus:
configuration:
#sql日志打印
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
#开启驼峰命名匹配
map-underscore-to-camel-case: true
#mapper文件
mapper-locations: classpath:mapper/**/*.xml,classpath:mapper/*.xml
#数据库实体类的包全路径,方便在mapper.xml中不许使用实体类的全路径,写类名就行(不区分大小写)
type-aliases-package: cn.com.marlon.hom.entity
global-config:
db-config:
#逻辑删除
logic-delete-value: 0
logic-not-delete-value: 1
logic-delete-field: deleted