Mybatis-Plus在springCloud中的使用

Mybatis-Plus在springCloud中的使用

依赖添加

        <mybaits.version>2.3.3</mybaits.version>
        
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity</artifactId>
            <version>1.7</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>${
     mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generate</artifactId>
            <version>${
     mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-support</artifactId>
            <version>${
     mybatis.version}</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-core</artifactId>
            <version>${
     mybatis.version}</version>
        </dependency>

代码生成器

MyBatisPlusGenerator

    public static void main(String[] args) throws SQLException {
     

        //1. 全局配置
        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(true) // 是否支持AR模式
                .setAuthor("MrLiu") // 作者
                .setOutputDir("C:\\Users") // 生成路径
                .setFileOverride(true)  // 文件覆盖
                .setIdType(IdType.AUTO) // 主键策略
                .setServiceName("%sService")  // 设置生成的service接口的名字的首字母是否为I
                .setBaseResultMap(true)//生成基本的resultMap
                .setBaseColumnList(true);//生成基本的SQL片段

        //2. 数据源配置
        DataSourceConfig dsConfig  = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL)  // 设置数据库类型
                .setDriverName("com.mysql.jdbc.Driver")
                .setUrl("jdbc:mysql://localhost:3306?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowMultiQueries=true&rewriteBatchedStatements=true")
                .setUsername("root")
                .setPassword("root");

        //3. 策略配置globalConfiguration中
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true) //全局大写命名
                .setDbColumnUnderline(true)  // 指定表名 字段名是否使用下划线
                .setNaming(NamingStrategy.underline_to_camel) // 数据库表映射到实体的命名策略
                //.setTablePrefix("tbl_")
                .entityTableFieldAnnotationEnable(true)
                .setInclude(new String[]{
     "table_name"});  // 生成的表

        //4. 包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        StrategyConfig sc=new StrategyConfig();

        pkConfig.setParent("com.xxx.rop.portal")
                .setMapper("mapper")//dao
                .setService("service")//servcie
                .setController("controller")//controller
                .setEntity("")
                .setXml("resource");//mapper.xml

        //5. 整合配置
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config)
                .setDataSource(dsConfig)
                .setStrategy(stConfig)
                .setPackageInfo(pkConfig);

        //6. 执行
        ag.execute();
    }

后期修改

  1. 各部分之间依赖路径,删掉import重新引入

  2. mapper.xml中注释掉二级缓存

  3. MybatisPlusConfig中添加mapper的扫描路径
    在这里插入图片描述

  4. yml中设置扫描路径
    Mybatis-Plus在springCloud中的使用_第1张图片

  5. 注释的添加
    @service、 @repository等

采坑日志

  1. insert方法主键丢失
    在实体类生成时,主键注释中添加了type = IdType.AUTO属性,mybatis-plus自动生成的id可能导致数据过长无法插入的情况,也就是主键丢失,可以去除这条注解,或采用bigint形式存储,致谢@但行善事莫问前程

你可能感兴趣的:(编程生活,mybatis-plus,Mybatis-Plus)