MyBatis-Plus代码自动生成工具

 

maven 依赖

  <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.25</version>
        </dependency>
<dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus</artifactId>
        <version>2.3</version>
</dependency>
        <!-- MP  代码生成工具需要的依赖1 velocity-engine-core 2 slf4j-api   3slf4j-log4j12 -->
        <!-- Apache velocity -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.0</version>
        </dependency>

注意:未引入 mysql-connector-java 依赖  数据库未连上,报:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

package com.example.demo.mybatisplus;

import java.sql.SQLException;

import javax.sql.DataSource;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.baomidou.mybatisplus.enums.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;

public class MyBatisPlusGenerator {

    public static void main(String[] args) throws SQLException {
        AutoGenerator  ag = new AutoGenerator();

        //1. 全局配置
        GlobalConfig config = new GlobalConfig();
                config.setActiveRecord(true); // 是否支持AR模式
                config.setAuthor("Nicholas") ;// 作者
                config.setOutputDir("D://test/read"); // 生成路径
                config.setFileOverride(true);  // 文件覆盖
                config.setIdType(IdType.AUTO) ;// 主键策略
                // 自定义文件命名,注意 %s 会自动填充表实体属性!
                config.setMapperName("%sReadMapper");
                config.setXmlName("%sReadMapper");
                config.setServiceName("%sReadService");
                config.setServiceImplName("%sReadServiceImpl");
                config.setBaseResultMap(true);//生成基本的resultMap
                config.setBaseColumnList(true);//生成基本的SQL片段
                config.setEnableCache(false);// XML 二级缓存
                ag.setGlobalConfig(config);

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

        //3. 策略配置globalConfiguration中
        StrategyConfig stConfig = new StrategyConfig();
                stConfig.setCapitalMode(true); //全局大写命名
                stConfig.setDbColumnUnderline(true);  // 指定表名 字段名是否使用下划线
                stConfig.setNaming(NamingStrategy.underline_to_camel);// 数据库表映射到实体的命名策略
                // 此处可以修改为您的表前缀
                stConfig.setTablePrefix("tbl_");
                stConfig.setInclude(new String[] { "hy_doctor","hy_dept"}); // 需要生成的表
                ag.setStrategy(stConfig);


        //4. 包名策略配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("com.haoyi")
                .setMapper("mapper")//dao
                .setService("service")//servcie
                .setController("controller")//controller
                .setEntity("entity")
                .setXml("mapper");//mapper.xml
                ag.setPackageInfo(pkConfig);


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

}

MyBatis的逆向工程相比,MP可生成service,controller等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值