首页 > 其他分享 >12月12日记录mybatis plus的初始学习

12月12日记录mybatis plus的初始学习

时间:2023-12-14 23:45:57浏览次数:36  
标签:12 String builder static mybatis plus public

今天开始mybatis plus的初始学习,首先是学习mybatis plus的引入方式需要引入下面三段代码

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.5.3.1</version>
</dependency>

<!--mybatis-plus-generator-->
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.5.3.1</version>
</dependency>
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.3</version>
</dependency>
分别是一个mybatis plus 和mybatis plus的代码生成器和生成器的一个构造器
引入完成后创建一个CodeGenerator类
写入一下代码
package com.example.mybatisplus;

import com.baomidou.mybatisplus.generator.FastAutoGenerator;
import com.baomidou.mybatisplus.generator.config.OutputFile;
import com.baomidou.mybatisplus.generator.config.rules.DbColumnType;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

import java.sql.Types;
import java.util.Collections;

public class CodeGenerator {
    public static final String database ="finaltest";
    public static final String url="jdbc:mysql://localhost:3306/"+database;
    public static final String username="root";//用户名
    public static final String password="1234";//密码
    public static final String tableName="teacher";//选择要生成的类
    private static final String basePath=System.getProperty("user.dir");
    public static void main(String[] args) {
        generator(tableName);
    }
    public static void generator(String tableName)
    {

        FastAutoGenerator.create(url, username, password)
                .globalConfig(builder -> {
                    builder.author("xue") // 设置作者
                            .enableSwagger() // 开启 swagger 模式
                            .fileOverride() // 覆盖已生成文件
                            .disableOpenDir()
                            .outputDir(basePath+"/src/main/java/"); // 指定输出目录(提前构建好)
                })
                .dataSourceConfig(builder -> builder.typeConvertHandler((globalConfig, typeRegistry, metaInfo) -> {
                    int typeCode = metaInfo.getJdbcType().TYPE_CODE;
                    if (typeCode == Types.SMALLINT) {
                        // 自定义类型转换
                        return DbColumnType.INTEGER;
                    }
                    return typeRegistry.getColumnType(metaInfo);

                }))
                .packageConfig(builder -> {
                    builder.parent("com.example.mybatisplus") // 设置父包名
                            .moduleName(null) // 设置父包模块名
                            .pathInfo(Collections.singletonMap(OutputFile.xml, basePath+"\\src\\main\\resources\\mapper\\")); // 设置mapperXml生成路径
                })
                .strategyConfig(builder -> {
                    builder.entityBuilder().enableLombok();
                    builder.serviceBuilder().formatServiceFileName("%sService");
                    builder.controllerBuilder().enableHyphenStyle().enableRestStyle();
                    builder.addInclude(tableName) // 设置需要生成的表名
                            .addTablePrefix("t_", "sys_"); // 设置过滤表前缀
                })
                .execute();
    }
}

然后就能够使用下面的mybatis plus简化后的代码了。

 

 

标签:12,String,builder,static,mybatis,plus,public
From: https://www.cnblogs.com/xuechenhao173/p/17902476.html

相关文章

  • 12月13日
    今天继续mybatisplus的学习,今天发现了一款插件能够取代代码生成器,更加方便代码的生成,而且图片也好好看就是看起来有些不正经,然后就是这款插件的使用了,安装完成后在上面的other里配置一下 的configdatabase页面 上面写一些要连接的架构,下面输入自己的数据库信息,jdbc:m......
  • 202312142321_《遍历 for customised data structure 》
    functioncalculateAssembledSetsAndReturnSkus(suitComponents,inventory){letcomponentCount={};letminComponent={};letresult={};//CountcomponentsinsuitComponentsObject.entries(suitComponents).forEach(([_,components])......
  • 20231214
    件需求与分析课堂测试十——综合案例分析(5分) 班级:信2105-2  学号:20213866   姓名:吕晓彤根据下列案例需求描述,回答相关问题:有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订1次,也可预订定期......
  • 12.14日记
    FlinkJobManager架构原理的核心是JobMaster和ResourceManager,其中JobMaster负责任务的调度和监控,ResourceManager负责集群资源的管理。JobMaster和ResourceManager之间通过RPC通信进行交互。JobMaster主要负责以下几个方面:   任务管理JobMaster负责接收用户提交的任务,并将任......
  • 12.14每日总结
    今天完成建民的课堂测试和.NET考试 软件需求与分析课堂测试十——综合案例分析(5分) 根据下列案例需求描述,回答相关问题:有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1,用户可以按照会议人数,会议时间预订会议室。可以只预订1次,也可预订定期召开的会议......
  • 每日总结12.14
    根据下列案例需求描述,回答相关问题:有一个对外营业的会议中心,有各种不同规格的会议室,为用户提供以下服务:1、用户可以按照会议人数、会议时间预订会议室。可以只预订1次,也可预订定期召开的会议。2、开会前允许用户修改会议时间、人数,重新选择会议室,甚至取消预订的会议。3、......
  • 2023.12.14
    importtorchimporttorch.nnasnnimporttorch.optimasoptimfromtorchvisionimportdatasets,transformsclassModulatedAttLayer(nn.Module):#(Unchangedcode)classSimpleCNN(nn.Module):def__init__(self):super(SimpleCNN,self).__i......
  • SpringBoot+MyBatis-Plus没有扫描到Mapper的问题
    一、问题:WARN22052---[      main]ConfigServletWebServerApplicationContext: NoMyBatismapperwasfoundin'[xxx.xxx.xxxx]'package.Pleasecheckyourconfiguration.WARN22052---[      main]ConfigServletWebServerApplicationConte......
  • 闲话12.14
    今天晚上写题写累了,闲话可能比较水。上午接着颓,上课也颓废。K8一句话说的很对啊,就是提前来这体验大学生活了,上午上课颓废,下午晚上自习颓废,赢麻了。上午的树上问题没啥听懂的,感觉昨天的ds都放今天了是为啥。写起来也挺难受的。过几天好像就是沈老师来讲课了。下午普通的写题......
  • 读书笔记12《构建之法 现代软件工程(第二版)》读后感
    今天将《大话软件工程-需求分析与软件设计》这本书算是总体阅读下来了,说一说总的感受。《大话软件工程-需求分析与软件设计》是一本为软件工程师和客户们提供一套支持交流、传递,具有很强实操性的理论、方法、工具和标准的书籍。这本书让我对软件工程有了更深入的理解,并且让我......