mybatisplus代码生成器

1、比较MP 的代码生成器 和 Mybatis MBG 代码生成器:

MP 的代码生成器都是基于 java 代码来生成。MBG 基于 xml 文件进行代码生成

MyBatis 的代码生成器可生成: 实体类、Mapper 接口、Mapper 映射文件

MP 的代码生成器可生成: 实体类(可以选择是否支持 AR)、Mapper 接口、Mapper 映射文件、 Service 层、Controller 层.

 

2、表及字段命名策略选择

在 MP 中,我们建议数据库表名 和 表字段名采用驼峰命名方式, 如果采用下划 线命名方式 请开启全局下划线开关,如果表名字段名命名方式不一致请注解指定,我 们建议最好保持一致。

 

3、如何使用代码生成器

1)加入依赖信息

复制代码
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.7</version>
</dependency>
复制代码

 

2)生成器代码

复制代码
@Test
public void testGenerater(){
    //1、全局策略配置
    GlobalConfig config = new GlobalConfig();
    config.setActiveRecord(true)
            .setAuthor("houchen")
            .setOutputDir("D:\\myworkspace\\mybatis-plus\\mp03\\src\\main\\java")
            .setFileOverride(true) //多次生成是否文件覆盖
            .setIdType(IdType.AUTO)
            .setServiceName("%sService") //设置生成的service接口的名字的首字母是否为I
            .setBaseResultMap(true)
            .setBaseColumnList(true); //生成基本的sql片段

    //2、数据源配置
    DataSourceConfig dsConfig = new DataSourceConfig();
    dsConfig.setDbType(DbType.MYSQL)
            .setDriverName("com.mysql.jdbc.Driver")
            .setUrl("jdbc:mysql://localhost:3306/mybatis")
            .setUsername("root")
            .setPassword("houchen");

    //3、策略配置
    StrategyConfig sconfig = new StrategyConfig();
    sconfig.setCapitalMode(true) //开启全局大写命名
            .setDbColumnUnderline(true) //指定表名  字段名是否设置下划线
            .setNaming(NamingStrategy.underline_to_camel) //下划线转驼峰
            .setTablePrefix("tbl_") //设置表名前缀
            .setInclude("tbl_employee"); //生成使用的表


    //4、包名配置
    PackageConfig packageConfig = new PackageConfig();
    packageConfig.setParent("com.atguigu.mp")
            .setController("controller")
            .setService("service")
            .setMapper("mapper")
            .setEntity("beans")
            .setXml("mapper");   // sql 映射文件

    //5、整合所有的配置
    AutoGenerator autoGenerator = new AutoGenerator();
    autoGenerator.setGlobalConfig(config);
    autoGenerator.setDataSource(dsConfig);
    autoGenerator.setStrategy(sconfig);
    autoGenerator.setPackageInfo(packageConfig);

    //6、执行
    autoGenerator.execute();
}
复制代码

 

clipboard

posted @   青岑  阅读(810)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
主题色彩