当前位置: 首页 > news >正文

day51-Mybatis-Plus/代码生成器

1.Mybatis-Plus

定义:是一个Mybatis的增强工具,只在Mybatis基础上增强不做改变,简化开发,提升效率

2.MP实战

2.1  创建springboot工程,勾选web,引入依赖

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.36</version>
</dependency>
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
</dependency>
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.0.6</version>
</dependency>

2.2  安装lombok插件

2.3  实体类中加入注解

2.4  UserMapper接口中加入注解,并继承BaseMapper<>(其中增删改查方法已经写好)

2.5  测试

2.6  配置文件中加入日志配置,控制台显示日志详细信息

2.7 设置自增长步骤: 

(1)设置数据库表主键和自增长

(2)指定数据库自增长序列从6开始:ALTER TABLE user AUTO_INCREMENT = 6;

(3)设置实体类:添加注解

(4)测试添加功能,可以实现无id通过自增长添加

2.8  三种方式查询

2.9  分页

(1)加入分页拦截器

(2)测试

2.10  删除

2.11 条件查询器

(2)模糊查询

(3)between..and..条件查询

3.代码生成器

依赖:

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.36</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.6</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.4.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

生成器脚本:

package cn.kgc.test;import com.baomidou.mybatisplus.annotation.DbType;
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.NamingStrategy;public class CodeGenerator {public static void main(String[] args) {// 代码生成器AutoGenerator mpg = new AutoGenerator();// 1全局配置GlobalConfig gc = new GlobalConfig();String projectPath = System.getProperty("user.dir");//获得工程路径gc.setOutputDir(projectPath + "/src/main/java");//路径gc.setAuthor("kgc_sh");//作者gc.setOpen(false);mpg.setGlobalConfig(gc);// 2数据源配置DataSourceConfig dsc = new DataSourceConfig();dsc.setUrl("jdbc:mysql://localhost:3306/db_02?useUnicode=true&useSSL=false&characterEncoding=utf8");// dsc.setSchemaName("public");dsc.setDriverName("com.mysql.jdbc.Driver");dsc.setUsername("root");dsc.setPassword("123456");dsc.setDbType(DbType.MYSQL);//数据库类型mpg.setDataSource(dsc);// 3包配置PackageConfig pc = new PackageConfig();pc.setParent("cn.kgc");pc.setEntity("entity");pc.setMapper("mapper");pc.setService("service");pc.setController("controller");mpg.setPackageInfo(pc);// 4策略配置StrategyConfig strategy = new StrategyConfig();strategy.setInclude("student","sc","course","teacher"); //给哪些表生成代码====================strategy.setNaming(NamingStrategy.underline_to_camel);strategy.setColumnNaming(NamingStrategy.underline_to_camel);strategy.setEntityLombokModel(true);mpg.setStrategy(strategy);mpg.execute();}
}

http://www.lryc.cn/news/108402.html

相关文章:

  • 22.Netty源码之解码器
  • R语言【Tidyverse、Tidymodel】的机器学习方法
  • vscode 第一个文件夹在上一层文件夹同行,怎么处理
  • [JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测
  • 【NLP概念源和流】 01-稀疏文档表示(第 1/20 部分)
  • 服务器运行python程序的使用说明
  • 8.2一日总结
  • JavaScript(四)DOM及CSS操作
  • window中,关闭java占用端口的进程
  • 【Python】PySpark 数据计算 ⑤ ( RDD#sortBy方法 - 排序 RDD 中的元素 )
  • Elasticsearch官方测试数据导入
  • uniapp项目的pdf文件下载与打开查看
  • DeepVO 论文阅读
  • HOT71-字符串解码
  • redis-server进程无法关闭终极解决方案
  • (5)将固件加载到没有ArduPilot固件的主板上
  • wpf画刷学习1
  • Opencv C++实现yolov5部署onnx模型完成目标检测
  • django bootstrap html实现左右布局,带折叠按钮,左侧可折叠隐藏
  • Mapping温度分布验证选择数据记录仪时需要考虑的13件事
  • 【题解】 判断一个链表是否为回文结构
  • Microsoft Message Queuing Denial-of-Service Vulnerability
  • 软件设计师(五)软件工程基础知识
  • Java中的JUnit单元测试方法的使用
  • 一文学透设计模式——抽象工厂模式
  • Vue3与Vue2区别和总结(1)
  • 【华秋推荐】物联网入门学习模块 ESP8266
  • 本科专科毕业论文如何选题-附1000多论文题目-论文选题--【毕业论文】
  • pip安装jupyter notebook
  • STM32刷Micropython固件参考指南