使用springboot+gradle快速整合mybatis-plus

stanleyblogs      2022-04-28     625

关键词:

作者:Stanley 罗昊

QQ:1164110146

MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。

注:作者使用IDEA编辑器

使用 Spring Initializr 快速初始化一个 Spring Boot 工程

在IDEA编辑左上角Flie ->new - >Project ??

技术图片

选择Spring Initializr -->Next:(下一步)进入下面这个界面??,Group:填写你的包路径 Artifact:项目名

技术图片

jar包管理工具选择Gradle Project -->Next(下一步)

技术图片

选择Web->Next(下一步)编写项目文件名以及路径

技术图片

点击Finish(完成)

添加依赖

点击 build.gradle添加依赖

技术图片

引入一下依赖:

技术图片
    dependencies {
        compile(‘org.springframework.boot:spring-boot-starter-web‘)
        compile(‘org.springframework.boot:spring-boot-starter-thymeleaf‘)
        compile group: ‘org.mybatis.generator‘, name: ‘mybatis-generator-core‘, version: ‘1.3.7‘
        compile(‘org.mybatis.spring.boot:mybatis-spring-boot-starter:1.3.1‘)
        implementation group: ‘com.alibaba‘, name: ‘druid‘, version: ‘1.1.12‘
        compile group: ‘org.springframework.boot‘, name: ‘spring-boot-starter‘, version: ‘2.1.2.RELEASE‘
        testCompile group: ‘org.springframework.boot‘, name: ‘spring-boot-starter-test‘, version: ‘2.1.2.RELEASE‘
        compile group: ‘com.baomidou‘, name: ‘mybatis-plus-boot-starter‘, version: ‘3.0.7.1‘
        testCompile group: ‘com.h2database‘, name: ‘h2‘, version: ‘1.4.196‘
        compile group: ‘org.projectlombok‘, name: ‘lombok‘, version: ‘1.16.20‘
        compile group: ‘com.baomidou‘, name: ‘mybatis-plus-boot-starter‘, version: ‘3.0.1‘
        compile group: ‘mysql‘, name: ‘mysql-connector-java‘, version: ‘8.0.11‘
        compile group: ‘org.springframework‘, name: ‘spring-jdbc‘, version: ‘4.0.0.RELEASE‘
        compile group: ‘com.baomidou‘, name: ‘mybatis-plus‘, version: ‘3.0.1‘
    }
技术图片

配置resources 文件下的 application.yml

以上有MySQL8.0以上jar包,在编写jdbc连接池是,多了一个cj

技术图片
datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name:  com.mysql.cj.jdbc.Driver//8.0以上需要多加一个cj
    username: 用户名
    password: 密码
    url: jdbc:mysql://localhost:3306/数据库?characterEncoding=utf-8&useSSL=false
mybatis-plus:
  mapper-locations: classpath*:mapperConfig/*.xml
技术图片

编写代码生成器CodeGeneration在编译路径下

技术图片
 1 import com.baomidou.mybatisplus.annotation.DbType;
 2 import com.baomidou.mybatisplus.generator.AutoGenerator;
 3 import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
 4 import com.baomidou.mybatisplus.generator.config.GlobalConfig;
 5 import com.baomidou.mybatisplus.generator.config.PackageConfig;
 6 import com.baomidou.mybatisplus.generator.config.StrategyConfig;
 7 import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 8 
 9 /**
10  * @author Stanley 罗昊
11  * @ClassName: CodeGeneration
12  * @Description: 代码生成器
13  * @date  2019年2月15日 下午8:10:14
14  */
15 public class CodeGeneration {
16 
17     /**
18      * @param args
19      * @Title: main
20      * @Description: 生成
21      */
22     public static void main(String[] args) {
23         AutoGenerator
24                 mpg = new AutoGenerator();
25 
26 
27         // 全局配置
28         GlobalConfig gc = new GlobalConfig();
29         gc.setOutputDir("src\main\java");//输出文件路径
30         gc.setFileOverride(true);
31         gc.setActiveRecord(false);// 不需要ActiveRecord特性的请改为false
32         gc.setEnableCache(false);// XML 二级缓存
33         gc.setBaseResultMap(true);// XML ResultMap
34         gc.setBaseColumnList(true);// XML columList
35         gc.setAuthor("luohao");// 作者
36 
37         // 自定义文件命名,注意 %s 会自动填充表实体属性!
38         gc.setControllerName("%sController");
39         gc.setServiceName("I%sService");
40         gc.setServiceImplName("%sServiceImpl");
41         gc.setMapperName("%sMapper");
42         gc.setXmlName("%sMapper");
43         mpg.setGlobalConfig(gc);
44 
45         // 数据源配置
46         DataSourceConfig dsc = new DataSourceConfig();
47         dsc.setDbType(DbType.MYSQL);
48         dsc.setDriverName("com.mysql.cj.jdbc.Driver");
49         dsc.setUsername("root");
50         dsc.setPassword("123");
51         dsc.setUrl("jdbc:mysql://localhost:3306/mybatispuls?characterEncoding=utf-8&useSSL=false");
52         mpg.setDataSource(dsc);
53 
54         // 策略配置
55         StrategyConfig strategy = new StrategyConfig();
56         // strategy.setTablePrefix(new String[] { "sys_" });// 此处可以修改为您的表前缀
57         strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
58         strategy.setInclude(new String[]{"user"}); // 需要生成的表
59 
60         strategy.setSuperServiceClass(null);
61         strategy.setSuperServiceImplClass(null);
62         strategy.setSuperMapperClass(null);
63 
64         mpg.setStrategy(strategy);
65 
66         // 包配置
67         PackageConfig pc = new PackageConfig();
68         pc.setParent("com.lh");
69         pc.setController("controller");
70         pc.setService("service");
71         pc.setServiceImpl("service.impl");
72         pc.setMapper("dao");
73         pc.setEntity("model");
74         pc.setXml("mapper");
75         mpg.setPackageInfo(pc);
76 
77         // 执行生成
78         mpg.execute();
79 
80     }
81 
82 }
技术图片

编写完成后执行

技术图片

 今日感悟:

什么样的老板绝对不能跟?

总是跟你谈前景谈情怀,就是不谈钱不谈调休,

给你画大饼,用你的“前途”欺骗你,压榨你。

他们是踩着你往上爬的人,别以为他们会将你的付出记在心里,

他们最擅长的,就是翻脸不认人。

idea使用gradle快速搭建springboot项目(代码片段)

创建第一个springboot的项目时,参考自文章:IDEA快速搭建SpringBoot项目,其中有遇到一些问题需要解决。注意:流程与链接中一致,但是使用了gradle而不是maven创建项目里未没有Springinitializer可以选择这是因为没... 查看详情

springboot快速整合mybatis(去xml化+注解进阶)

SpringBoot快速整合Mybatis(去XML化+注解进阶)序言:使用MyBatis3提供的注解可以逐步取代XML,例如使用@Select注解直接编写SQL完成数据查询,使用@SelectProvider高级注解还可以编写动态SQL,以应对复杂的业务需求。一.基础注解MyBatis主... 查看详情

springboot整合swagger-ui快速生成在线api文档

目录SpringBoot整合Swagger-ui实现在线API文档本篇要点一、restful风格简单介绍二、SpringBoot与Swagger-ui快速整合1、第一种方式:使用官方依赖2、第二种方式:使用第三方依赖三、swagger-ui的基本注解源码下载参考阅读SpringBoot整合Swagger-u... 查看详情

springboot整合mybatis快速入门

参考技术A注意:1.mybatis中的mapper-locations是mapper的xml文件位置2.mybatis中的type-aliases-package是为了配置xml文件中resultType返回值的包位置,如果未配置请使用全包名如下: 查看详情

springboot(2.0.4.release)+elasticsearch(6.2.4)+gradle简单整合

记录一下SpringBoot(2.0.4.RELEASE)+Elasticsearch(6.2.4)+Gradle整合的一个小例子。1.在Gradle内加入相关jar包的依赖:compile(‘org.springframework.boot:spring-boot-starter-web‘)compile(‘org.springframework.boot:spring-boot-starter 查看详情

springboot学习——springboot快速整合rabbitmq

RabbitMQ消息队列@[toc]简介优点erlang开发,并发能力强。社区活跃,使用的人多,稳定性较强。延时低缺点erlang语言开发的,国内精通的不多,日后定制开发困难。RabbitMQ工作模式1,"HelloWorld!"模式简单模式是RabbitMQ最简单入... 查看详情

springboot学习——springboot快速整合swagger文档

@[toc]简介优点后端根据swagger语法,自动生成漂亮规范的接口文档。做交互测试。劣势侵入式的,影响程序运行,尤其是传参的时候。注意swagger分1.2版本和2.0版本,差异较大。swagger1.2即swagger-ui;swagger2.0即springfox-swagger。本文介... 查看详情

springboot+gradle+thymeleaf搭配会如何——快速入门java模板开发

...。但是,很多新程序员还是存在一些学习障碍。本文结合SpringBoot和Gradle来逐步介绍Thymeleaf关键知识点,只要一天就能真正入门。​1.按部就班开发大表查询应用程序下面给出一个实例来巩固相关知识。我们的实例使用STS4.17(IDEA... 查看详情

5分钟springboot极速整合jwt生成token,一篇文章带你快速了解原理并使用(代码片段)

SpringBoot整合jwt登录功能的实现实现原理Session、Cookie、Token的使用状况实践测试生成Token给客户端pojoJwtUtilController解决跨域问题Vue验证客户端存储Tokenrouter.jsError.vueJwtUtil.javaUserController.java运行效果专业解读登录功能的实现登陆页面... 查看详情

springboot+postgresql+mybatisplus整合的一些坑

技术架构:springboot+mybatisplus+postgresql+gradle自定义TypeHnadler的使用自定义的TypeHandler主要是转换Jsonb和array等类型如果是使用mybatisplus的内置方法,则需要在实体字段加上@TableField注解,并且需要在类名上启动@TableName(autoResultMap=true)//autoRe... 查看详情

springboot+postgresql+mybatisplus整合的一些坑

技术架构:springboot+mybatisplus+postgresql+gradle自定义TypeHnadler的使用自定义的TypeHandler主要是转换Jsonb和array等类型如果是使用mybatisplus的内置方法,则需要在实体字段加上@TableField注解,并且需要在类名上启动@TableName(autoResultMap=true)//autoRe... 查看详情

springboot学习——springboot快速整合redis

Redis缓存@[toc]简介redis是一个高性能的key-value数据库优势性能强,适合高度的读写操作(读的速度是110000次/s,写的速度是81000次/s)。支持较为丰富的数据类型(如二进制的Strings,Lists,Hashes,Sets,OrderedSets)一定的事物能力(要么执行... 查看详情

springboot整合ehcache缓存

...分布式存储方式等多种灵活的cache管理方案,快速简单。Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易。在你的项目上配置以下几步即可使用首先,老规矩,pom.xml加依赖; <!--S 查看详情

springboot-基础篇复习(全)(代码片段)

本文包含SpringBoot基础篇的所有知识点,大家一起来学习吧,开启一段新的旅程,加油吧。springboot是由Picotal团队提供的全新框架,用来简化spring的搭建和开发过程的配置,因为spring的配置比较繁琐,故引入... 查看详情

springboot整合ecache缓存

EhCache是一个纯Java的进程内缓存框架,具有快速、精干等特点,是Hibernate中默认的CacheProvider。  ehcache提供了多种缓存策略,主要分为内存和磁盘两级,所以无需担心容量问题。  spring-boot是一个快速的集成框架,其设计目的... 查看详情

ssm整合快速入门程序

下面我们配置serivce层到项目中1.service包中创建ItemsService.java接口,和service.imp包中创建一个service实现类ItemsServiceImpl.javapackagecn.my.ssm.serive;importjava.util.List;importcn.my.ssm.po.Items;publicinterfaceItemsService{Li 查看详情

整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)

jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情

整合springboot+kotlin+gradle+jpa的demo学习笔记(代码片段)

jpa其实就是JavaPersistenceAPI的缩写。jpa的中文名字叫做Java持久层API,jpa是JDK5.0注解或者是XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。JPA的宗旨是为POJO提供持久化标准规范,JPA的总体思想... 查看详情