# Mybatis-Plus

# mvn pom.xml

    <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.5.3.1</version>
    </dependency>

# application.yml

    mybatis-plus:
      global-config:
        db-config:
          table-prefix: t_
          id-type: auto #这里解决插入数据使用的mysql自增
      configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

# Configuration

    package com.xxx.config;
    
    @Configuration
    public class MybatisPlusConfig {
        /**
         * 分页插件
         */
        @Bean
        public MybatisPlusInterceptor paginationInterceptor() {
            MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
            // 解决分页 total = 0 的问题
            interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
            return interceptor;
        }
    }

# CURD

# 实体(数据库表结构)

    package com.xxx.domain;
    
    @Data
    public class Admin {
        private Integer id;
        private String mobile;
        private String password;
        private String name;
        @TableField("head_img")
        private String headImg;
    }

# Mapper

    package com.xxx.mapper;
    
    @Mapper
    public interface AdminDao extends BaseMapper<Admin> {
    }

# IService

    package com.xxx.service;
    
    public interface IAdminService extends IService<Admin> {
        boolean passport(String user, String password);
    }

# ServiceImpl

    package com.xxx.service.impl;

    @Service
    public class AdminServiceImpl extends ServiceImpl<AdminDao, Admin> implements IAdminService {
    
        @Resource
        RedisServiceImpl redisService;
    
        @Override
        public boolean passport(String user, String password) {
            QueryWrapper<Admin> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("user", user);
            Admin admin = this.getOne(queryWrapper);
            ...
            return passportTokenVo;
        }
    }

# Controller Use

    package com.xxx.controller;
    
    @RestController
    public class AdminController {
    
        @Resource
        IAdminService adminService;
    
        @GetMapping("/login")
        public ApiResponse<AdminBaseInfoVo> info()
        {
            String user = "";
            Sting password = "";
            return ApiResponse.success(adminService.passport(user, password));
        }
    }