MybatisPlus 快速生成实体类和项目模板

  在项目对数据库表设计完成后,可以通过MybatisPlus根据数据库表快速生成实体类、mapper层以及service层、controller层的模板。具体方法如下:

1、导包

复制代码
<!--        MybtaisPlus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>3.4.3.4</version>
        </dependency>
<!--        代码生成器-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.3.2</version>
        </dependency>
<!--        模板引擎-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>
<!--        日志接口实现-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.25</version>
            <scope>compile</scope>
        </dependency>
复制代码

 

2、根据需求设计并创建数据库

 

3、编写自动生成类并对生成器进行配置

复制代码
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring.xml")
public class Generator {

    @Autowired
    DataSource ds;

    @Test
    public void testGenerator() {
        // 全局配置
        GlobalConfig config = new GlobalConfig();
        config.setActiveRecord(false) // AR模式
                .setAuthor("作者")    // 作者
                .setOutputDir(System.getProperty("user.dir") + "/src/main/java") // 生成路径
                .setFileOverride(true) // 文件覆盖
                .setIdType(IdType.AUTO) // 主键策略
                .setServiceName("%sService"); // 设置生成的service接口的名字,默认为I%sSerice

        // 数据源配置
        DataSourceConfig dsConfig = new DataSourceConfig();
        dsConfig.setDbType(DbType.MYSQL)     // 设置数据库类型
                .setDriverName("com.mysql.cj.jdbc.Driver")
                .setUrl("jdbc:mysql://127.0.0.1:3306/xxx?useUnicode=true&characterEncoding=utf8")
                .setUsername("root")
                .setPassword("123456");

        // 策略配置
        StrategyConfig stConfig = new StrategyConfig();
        stConfig.setCapitalMode(true) // 全局大写命名
                .setNaming(NamingStrategy.underline_to_camel); // 数据库表映射到实体的命名策略

        // 包名配置
        PackageConfig pkConfig = new PackageConfig();
        pkConfig.setParent("com.miz")
                .setMapper("dao")
                .setService("service")
                .setController("controller")
                .setEntity("entity")
                .setXml("dao.mapper");

        //  整合
        AutoGenerator ag = new AutoGenerator();
        ag.setGlobalConfig(config).setDataSource(dsConfig).setStrategy(stConfig).setPackageInfo(pkConfig);
        // 生成
        ag.execute();
    }
}
复制代码

 

posted @   lmiz  阅读(2745)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示