添加依赖:
        <!--使用mybatisplus代码生成器   自己加spring boot依赖工具包哦-->
        <dependency>
            <artifactId>velocity</artifactId>
            <exclusions>
                <exclusion>
                    <artifactId>commons-collections</artifactId>
                    <groupId>commons-collections</groupId>
                </exclusion>
            </exclusions>
            <groupId>org.apache.velocity</groupId>
            <version>1.7</version>
        </dependency>
        <!--导入mybatis plus依赖包-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>2.1.9</version>
        </dependency>
 
自定义生成模板引擎:
package com.aaa.util;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import java.util.Collections;
/**
 * @Author: cws
 * @Date: 2020/7/9 0009 15:10
 * @Version 1.0
 * 使用mybatisplus自动生成代码
 */
public class MyGenerator {
    public static void main(String[] args) {
        // 代码生成器
        AutoGenerator mpg = new AutoGenerator();
        // 全局配置
        GlobalConfig globalConfig = new GlobalConfig();
        //输出目录
        globalConfig.setOutputDir("D://生成代码//");
        // 是否覆盖文件
        globalConfig.setFileOverride(true);
        // 开启 activeRecord 模式
        globalConfig.setActiveRecord(true);
        // XML 二级缓存
        globalConfig.setEnableCache(false);
        // XML ResultMap
        globalConfig.setBaseResultMap(true);
        // XML columList
        globalConfig.setBaseColumnList(true);
        //作者
        globalConfig.setAuthor("cws");
        // 自定义文件命名,注意 %s 会自动填充表实体属性!  例:表名User 则是UserDao
        globalConfig.setMapperName("%sDao");
        globalConfig.setXmlName("%sDao");
        globalConfig.setServiceName("%sService");
        globalConfig.setServiceImplName("%sServiceImpl");
        globalConfig.setControllerName("%sController");
        mpg.setGlobalConfig(globalConfig);
        DataSourceConfig sourceConfig = new DataSourceConfig();
        // 数据库类型
        sourceConfig.setDbType(DbType.MYSQL);
        sourceConfig.setTypeConvert(new MySqlTypeConvert() {
            // 自定义数据库表字段类型转换【可选】
            @Override
            public DbColumnType processTypeConvert(String fieldType) {
                System.out.println("转换类型:" + fieldType);
                return super.processTypeConvert(fieldType);
            }
        });
        //根据自己的需要改成自己的数据库类型
        sourceConfig.setDriverName("com.mysql.jdbc.Driver");
        sourceConfig.setUsername("root");
        sourceConfig.setPassword("123456");
        sourceConfig.setUrl("jdbc:mysql://127.0.0.1:3306/szqy08project?characterEncoding=utf8");
        mpg.setDataSource(sourceConfig);
        // 策略配置
        StrategyConfig strategyConfig = new StrategyConfig();
        // .setCapitalMode(true)// 全局大写命名
        // 此处可以修改为您的表前缀   例:实体tbl_user变成User
        strategyConfig.setTablePrefix(new String[]{"tbl_"});
        // 表名生成策略       生成小驼峰
        strategyConfig.setNaming(NamingStrategy.underline_to_camel);
        mpg.setStrategy(strategyConfig);
        // 包配置
        PackageConfig packageConfig = new PackageConfig();
        // 自定义包路径
        packageConfig.setParent("com.aaa");
        // 这里是控制器包名,默认 web
        packageConfig.setController("controller");
        packageConfig.setMapper("dao");
        packageConfig.setEntity("entity");
        packageConfig.setService("service");
        packageConfig.setServiceImpl("service.impl");
        mpg.setPackageInfo(packageConfig);
        // 注入配置  可配可不配   mapper路径的问题
        InjectionConfig injectionConfig = new InjectionConfig() {
            @Override
            public void initMap() {
            }
        };
        injectionConfig.setFileOutConfigList(Collections.<FileOutConfig>singletonList(new FileOutConfig("/templates/mapper.xml.vm") {
            // 自定义输出文件目录
            @Override
            public String outputFile(TableInfo tableInfo) {
                return globalConfig.getOutputDir() + tableInfo.getEntityName() + "Dao.xml";
            }
        }));
        mpg.setCfg(injectionConfig);
        // 执行生成*/
        mpg.execute();
    }
}
 
 
主启动类:
package com.aaa;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan(basePackages = "com.aaa.dao")   //扫描dao包
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
 
 测试类:
package com.aaa;
import com.aaa.entity.Dept;
import com.aaa.service.DeptService;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest
class Szqy08PsmsApplicationTests {
    @Autowired
    private DeptService deptService;
    @Test
    void saveDept() {
        Dept dept = new Dept();
        dept.setDeptName("学术部");
        deptService.insert(dept);
    }
    @Test
    void deleteDept() {
       /* Dept dept = new Dept();
        dept.setDeptName("学术部");*/
       //按照条件删除
      /*  Wrapper<Dept> wrapper= new EntityWrapper<>();
        wrapper.eq("dept_name","学术部");
        deptService.delete(wrapper);*/
        //按照主键批量删除boolean deleteBatchIds(Collection<? extends Serializable> var1);
/*        List<Integer> ids= new ArrayList<>();
        ids.add(108);
        ids.add(109);
        deptService.deleteBatchIds(ids);*/
        //安装主键单个删除
       deptService.deleteById(110);
    }
    @Test
    void updateDept() {
        Dept dept = new Dept();
        dept.setDeptId(111);
        dept.setDeptName("军机处");
        deptService.updateById(dept);
    }
    /**
     * 测试排序
     */
    @Test
    void OrderDept() {
        Wrapper<Dept> wrapper= new EntityWrapper<>();
        wrapper.orderBy("order_num",false);
        List<Dept> deptList = deptService.selectList(wrapper);
        for (Dept dept : deptList) {
            System.out.println(dept.toString());
        }
    }
    /**
     * 测试模糊查询
     */
    @Test
    void likeDept() {
        Wrapper<Dept> wrapper= new EntityWrapper<>();
        wrapper.like("dept_name","市场");
        List<Dept> deptList = deptService.selectList(wrapper);
        for (Dept dept : deptList) {
            System.out.println(dept.toString());
        }
    }
    /**
     * 分页查询
     */
    @Test
    void pageDept() {
        /**
         *     public Page(int current, int size) {
         *         super(current, size);
         *         current 当前第几页
         *         size是一页显示多少行
         *         this.records = Collections.emptyList();
         *     }
         */
        Page<Dept> page = new Page(2,3);
        Page<Dept> deptPage = deptService.selectPage(page);
        //从分页结果中提取list集合
        List<Dept> deptList = deptPage.getRecords();
        for (Dept dept : deptList) {
            System.out.println(dept.toString());
        }
    }
}