资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

Passion权限管理系统开发(三)集成MyBatisPlus

Java 更新时间: 发布时间: 计算机考试归档 最新发布

Passion权限管理系统开发(三)集成MyBatisPlus

书本是集成mybatis,自行集成mp。如有缺漏希望指正交流!
使用默认分页配置,后续需要再进行配置

一、添加依赖

在passion-admin模块的pom.xml中添加以下依赖

            com.baomidou            mybatis-plus-boot-starter            3.4.1                            org.mybatis.spring.boot            mybatis-spring-boot-starter            2.2.0                                    mysql            mysql-connector-java        

二、使用mybatis-plus generator 生成器

2.1、新建passion-generator模块

1、使用spring模板,新建passion-generator模块,用于生成通用模板代码

2、新建完成后删除多余的文件夹

3、在pom.xml文件夹下添加如下依赖

             com.baomidou            mybatis-plus-boot-starter            3.4.1                                    com.baomidou            mybatis-plus-generator            3.4.1                                    mysql            mysql-connector-java            5.1.49                            org.freemarker            freemarker            2.3.30        

2.2、编写生成器代码

1、在工程下新建utils包
2、包下新建一个 MybatisPlusGenerator 类
3、编写代码

package com.zhang.passion.generator.utils;import com.baomidou.mybatisplus.core.toolkit.StringPool;import com.baomidou.mybatisplus.generator.AutoGenerator;import com.baomidou.mybatisplus.generator.InjectionConfig;import com.baomidou.mybatisplus.generator.config.*;import com.baomidou.mybatisplus.generator.config.po.TableInfo;import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;import org.apache.commons.lang3.StringUtils;import java.util.ArrayList;import java.util.List;import java.util.Scanner;public class MybatisPlusGenerator {        public static String scanner(String tip) throws Exception {        Scanner scanner = new Scanner(System.in);        StringBuilder help = new StringBuilder();        help.append("请输入" + tip + ":");        System.out.println(help.toString());        if (scanner.hasNext()) {            String ipt = scanner.next();            if (StringUtils.isNotBlank(ipt)) {                return ipt;            }        }        throw new Exception("请输入正确的" + tip + "!");    }    public static void main(String[] args) throws Exception {        // 代码生成器        AutoGenerator mpg = new AutoGenerator();        // 全局配置        GlobalConfig gc = new GlobalConfig();        String projectPath = System.getProperty("user.dir")+"/passion-generator";        gc.setOutputDir(projectPath + "/src/main/java");        gc.setAuthor("chixiaoyu");        gc.setOpen(false);        //实体属性 Swagger2 注解        gc.setSwagger2(true);        mpg.setGlobalConfig(gc);        // 数据源配置        DataSourceConfig dsc = new DataSourceConfig();        dsc.setUrl("jdbc:mysql://localhost:3306/passion?useUnicode=true&useSSL=false&characterEncoding=utf8");        // dsc.setSchemaName("public");        dsc.setDriverName("com.mysql.jdbc.Driver");        dsc.setUsername("root");        dsc.setPassword("root");        mpg.setDataSource(dsc);        // 包配置        PackageConfig pc = new PackageConfig();        //pc.setModuleName(scanner("模块名"));        pc.setParent("com.zhang.passion.admin");        mpg.setPackageInfo(pc);        // 自定义配置        InjectionConfig cfg = new InjectionConfig() {            @Override            public void initMap() {                // to do nothing            }        };        // 如果模板引擎是 freemarker        String templatePath = "/templates/mapper.xml.ftl";        // 如果模板引擎是 velocity//         String templatePath = "/templates/mapper.xml.vm";        // 自定义输出配置        List focList = new ArrayList<>();        // 自定义配置会被优先输出        focList.add(new FileOutConfig(templatePath) {            @Override            public String outputFile(TableInfo tableInfo) {                // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!                return projectPath + "/src/main/resources/mapper/" + pc.getModuleName()                        + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;            }        });                cfg.setFileOutConfigList(focList);        mpg.setCfg(cfg);        // 配置模板        TemplateConfig templateConfig = new TemplateConfig();        // 配置自定义输出模板        //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别        // templateConfig.setEntity("templates/entity2.java");        // templateConfig.setService();        // templateConfig.setController();        templateConfig.setXml(null);        mpg.setTemplate(templateConfig);        // 策略配置        StrategyConfig strategy = new StrategyConfig();        strategy.setNaming(NamingStrategy.underline_to_camel);        strategy.setColumnNaming(NamingStrategy.underline_to_camel);        //strategy.setSuperEntityClass("你自己的父类实体,没有就不用设置!");        strategy.setEntityLombokModel(true);        strategy.setRestControllerStyle(true);        // 公共父类        //strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!");        // 写于父类中的公共字段        strategy.setSuperEntityColumns("id");//        strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));        strategy.setInclude(                "sys_config",                "sys_dept",                "sys_dict",                "sys_log",                "sys_login_log",                "sys_menu",                "sys_role",                "sys_role_dept",                "sys_role_menu",                "sys_user",                "sys_user_role");        strategy.setControllerMappingHyphenStyle(true);        //strategy.setTablePrefix(pc.getModuleName() + "_");        mpg.setStrategy(strategy);        mpg.setTemplateEngine(new FreemarkerTemplateEngine());        mpg.execute();    }}

2.3、生成代码

运行上面的main函数,等待控制台输出完毕后,会看见工程中生成了一个admin文件夹,在resource文件夹中会生成一个mapper文件夹,把生成好的admin文件夹拷贝到passion-admin 工程中,如下

把resource文件夹下的xml文件拷贝到passion-admin工程中,并把文件夹重命名为mappers

修改配置文件后缀为yml,在配置文件中添加如下配置

# 应用服务 WEB 访问端口server:  port: 8081spring:  datasource:    driver-class-name: com.mysql.jdbc.Driver    url: jdbc:mysql://localhost:3306/passion?useUnicode=true&zeroTimeBEhavior=converToNull&AutoReconnect=true&charsetEncoding=utf-8    username: root    password: 密码#下面这些内容是为了让MyBatis映射#指定Mybatis的Mapper文件mybatis:  mapper-locations: classpath:mappers@RestController@RequestMapping("/user")@RequiredArgsConstructorpublic class SysUserController {    private final ISysUserService userService;        @GetMapping("/list")    public List listAll(){        List list = userService.list();        return list;    }}

重启项目,访问localhost:8081/user/list

成功,撒花!!!

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/1095080.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【Passion权限管理系统开发(三)集成MyBatisPlus】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2