关键词:
作者: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的总体思想... 查看详情