1 环境配置

   =

2 新建一个新的springboot项目

  

  2.1 选择一些必要的依赖

    web jpa mysql

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>cn.test.demo</groupId>
<artifactId>mybatis_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>mybatis_demo</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

  2.2 添加mybatis生成代码所需的相关

<!-- Mybatis-Plus  自动生成实体类-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>cn.test.demo</groupId>
<artifactId>mybatis_demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>mybatis_demo</name>
<description>Demo project for Spring Boot</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties> <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency> <!-- Mybatis-Plus 自动生成实体类-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency> </dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> </project>

  2.3 配置数据源

server:
servlet:
context-path: /dev
port: 9999 spring:
datasource:
url: jdbc:mysql://127.0.0.1:3306/testdemo?useUnicode=true&characterEncoding=UTF-8&&useSSL=false
driver-class-name: com.mysql.jdbc.Driver
username: root
password: root
# jpa:
# database: mysql
# properties:
# hibernate:
# show-sql: true
# format-sql: true
jpa:
database: mysql
show-sql: true

  2.4 编写一个测试控制层

    

package cn.test.demo.mybatis_demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; /**
* @author 王杨帅
* @create 2018-04-06 21:11
* @desc 测试控制类
**/
@RestController
@RequestMapping(value = "/test")
public class TestContorller { @GetMapping(value = "test01")
public String test01() {
String result = "===test01===";
System.out.println(result);
return result;
}
}

  2.5 编写代生成器

    需要根据自己需要更改生成文件存放位置,以及一些其他信息

package cn.test.demo.mybatis_demo.util;

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.DbType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; /**
* @author 王杨帅
* @create 2018-04-06 21:43
* @desc 自动生成代码工具类
**/
public class AutoGenerateCode {
public static void main(String[] args) throws InterruptedException {
AutoGenerator mpg = new AutoGenerator(); // 全局配置定义
GlobalConfig gc = new GlobalConfig(); gc.setOutputDir("F:\\javaProgramming\\springBoot\\testDemo\\mybatis_demo\\src\\main\\java\\cn\\test\\demo\\mybatis_demo\\util"); // 设置存储路径
gc.setFileOverride(true);
gc.setActiveRecord(true);
// gc.setEnableCache(true);// XML 二级缓存
gc.setBaseResultMap(true);// XML ResultMap
gc.setBaseColumnList(true);// XML columList
gc.setAuthor("王杨帅"); // 作者信息 // 自定义文件命名,注意 %s 会自动填充表实体属性!
gc.setMapperName("%sDao");
gc.setXmlName("%sMapper");
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImpl");
gc.setControllerName("%sController");
mpg.setGlobalConfig(gc); // 设置全局配置 // 数据源配置定义
DataSourceConfig dsc = new DataSourceConfig();
dsc.setDbType(DbType.MYSQL);
/*dsc.setTypeConvert(new MySqlTypeConvert(){
// 自定义数据库表字段类型转换【可选】
@Override
public DbColumnType processTypeConvert(String fieldType) {
System.out.println("转换类型:" + fieldType);
return super.processTypeConvert(fieldType);
}
});*/
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUrl("jdbc:mysql://localhost:3306/testdemo?useUnicode=true&amp;characterEncoding=UTF-8&amp;generateSimpleParameterMetadata=true");
dsc.setUsername("root");
dsc.setPassword("182838");
mpg.setDataSource(dsc); // 设置数据源 // 策略配置
StrategyConfig strategy = new StrategyConfig();
// strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意
// strategy.setTablePrefix(new String[] { "tlog_", "tsys_" });// 此处可以修改为您的表前缀
strategy.setNaming(NamingStrategy.underline_to_camel);// 表名生成策略
// strategy.setInclude(new String[] { "user" }); // 需要生成的表
// strategy.setExclude(new String[]{"test"}); // 排除生成的表
mpg.setStrategy(strategy); // 包配置
PackageConfig pc = new PackageConfig();
pc.setParent("org");
pc.setModuleName("ibase4j");
mpg.setPackageInfo(pc); // 执行生成
mpg.execute();
}
}

  2.6 创建表

/*
Navicat MySQL Data Transfer Source Server : mysql5.4
Source Server Version : 50540
Source Host : localhost:3306
Source Database : testdemo Target Server Type : MYSQL
Target Server Version : 50540
File Encoding : 65001 Date: 2018-04-08 12:54:08
*/ SET FOREIGN_KEY_CHECKS=0; -- ----------------------------
-- Table structure for `equipment_check_item`
-- ----------------------------
DROP TABLE IF EXISTS `equipment_check_item`;
CREATE TABLE `equipment_check_item` (
`id_` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`eci_code` bigint(20) NOT NULL COMMENT '点检项目编号',
`et_code` bigint(20) NOT NULL COMMENT '项目类型编号',
`eci_name` varchar(60) NOT NULL COMMENT '点检项目名称',
`eci_order` mediumint(4) NOT NULL COMMENT '点检项目顺序',
`enable_` tinyint(1) NOT NULL COMMENT '记录有效性',
`remark_` varchar(100) NOT NULL,
`create_by` bigint(20) NOT NULL,
`create_time` datetime NOT NULL,
`update_by` bigint(20) NOT NULL,
`update_time` datetime NOT NULL,
PRIMARY KEY (`id_`),
UNIQUE KEY `eci_code` (`eci_code`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of equipment_check_item
-- ----------------------------
INSERT INTO `equipment_check_item` VALUES ('', '', '', '油量检查', '', '', '测试', '', '2018-04-01 19:05:10', '', '2018-04-04 19:05:23'); -- ----------------------------
-- Table structure for `equipment_check_resord`
-- ----------------------------
DROP TABLE IF EXISTS `equipment_check_resord`;
CREATE TABLE `equipment_check_resord` (
`id_` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`erc_code` bigint(20) NOT NULL COMMENT '设备点检记录编码',
`ei_code` bigint(20) NOT NULL COMMENT '点检设备编码',
`ci_code` bigint(20) NOT NULL COMMENT '点检职员编码',
`erc_result` tinyint(1) NOT NULL DEFAULT '' COMMENT '点检结果:0正常 1故障 2报废 3待报废 4停用 5未使用 6待检',
`erc_work` tinyint(1) NOT NULL DEFAULT '' COMMENT '点检后是否可作业:1可接收作业 0不可接收作业',
`erc_date` datetime NOT NULL COMMENT '点检日期',
`enable_` tinyint(1) NOT NULL DEFAULT '' COMMENT '记录状态:0无效,1有效',
`remark_` varchar(100) DEFAULT NULL COMMENT '备注信息',
`create_by` bigint(20) NOT NULL COMMENT '点检记录创建者',
`create_time` datetime NOT NULL COMMENT '点检记录创建时间',
`update_by` bigint(20) NOT NULL COMMENT '点检记录更新者',
`update_time` datetime NOT NULL COMMENT '点检记录更新时间',
PRIMARY KEY (`id_`),
UNIQUE KEY `erc_code` (`erc_code`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of equipment_check_resord
-- ----------------------------
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', null, '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', null, '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', null, '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', null, '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', null, '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', '设备出现故障', '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-01 13:51:41', '', '设备一切正常', '', '2018-04-05 13:51:53', '', '2018-04-05 13:51:57');
INSERT INTO `equipment_check_resord` VALUES ('', '', '', '', '', '', '2018-04-04 20:07:29', '', 'Hello Boy', '', '2018-04-05 20:07:43', '', '2018-04-05 20:07:47'); -- ----------------------------
-- Table structure for `equipment_info`
-- ----------------------------
DROP TABLE IF EXISTS `equipment_info`;
CREATE TABLE `equipment_info` (
`id_` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`ei_code` bigint(20) NOT NULL COMMENT '设备编号_唯一约束',
`et_code` bigint(20) NOT NULL COMMENT '设备类型编号_最好添加外键约束',
`di_code` bigint(20) NOT NULL COMMENT '部门编号_最好添加外键约束',
`ci_code` bigint(20) NOT NULL COMMENT '负责员工编号_最好添加外键约束',
`ei_name` varchar(60) NOT NULL COMMENT '设备名称',
`ei_place` varchar(60) NOT NULL COMMENT '设备存放地址',
`ei_specification` varchar(100) NOT NULL COMMENT '设备规格信息',
`ei_manufacturer` varchar(60) NOT NULL COMMENT '设备制造商',
`ei_price` double(10,0) NOT NULL COMMENT '设备单价',
`ei_purchase_date` datetime NOT NULL COMMENT '设备购置日期',
`ei_lifetime` mediumint(4) NOT NULL COMMENT '设备使用年限',
`ei_galleryful` mediumint(4) NOT NULL COMMENT '设备工位数',
`ei_desc` varchar(100) DEFAULT NULL,
`enable_` tinyint(1) NOT NULL,
`remark_` varchar(100) DEFAULT NULL,
`create_by` bigint(20) NOT NULL,
`create_time` datetime NOT NULL,
`update_by` bigint(20) NOT NULL,
`update_time` datetime NOT NULL,
PRIMARY KEY (`id_`),
UNIQUE KEY `et_code` (`et_code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of equipment_info
-- ---------------------------- -- ----------------------------
-- Table structure for `equipment_type`
-- ----------------------------
DROP TABLE IF EXISTS `equipment_type`;
CREATE TABLE `equipment_type` (
`id_` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`et_code` bigint(20) NOT NULL COMMENT '设备类型编号',
`et_name` varchar(60) NOT NULL COMMENT '设备类型名称',
`et_desc` varchar(100) DEFAULT NULL COMMENT '设备类型描述',
`enable_` tinyint(1) NOT NULL DEFAULT '' COMMENT '是否启用: 0失效 1启用',
`remark_` varchar(100) DEFAULT NULL COMMENT '备注信息',
`create_by` bigint(20) NOT NULL,
`create_time` datetime NOT NULL COMMENT '创建时间',
`update_by` bigint(20) NOT NULL COMMENT '更新者编号',
`update_time` datetime NOT NULL COMMENT '更新时间',
PRIMARY KEY (`id_`),
UNIQUE KEY `et_code_2` (`et_code`),
KEY `et_code` (`et_code`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8; -- ----------------------------
-- Records of equipment_type
-- ----------------------------
INSERT INTO `equipment_type` VALUES ('', '', '铣床类', '主要加工硬质钢铁原型', '', null, '', '2018-02-01 15:09:09', '', '2018-04-03 16:36:21');
INSERT INTO `equipment_type` VALUES ('', '', '切削类', '主要对原材料进行切削加工', '', null, '', '2018-07-03 10:32:53', '', '2018-04-03 16:40:58');
INSERT INTO `equipment_type` VALUES ('', '', '钻孔类', '对产品进行钻孔擦操作', '', null, '', '2018-04-02 10:35:37', '', '2018-04-03 18:30:43');
INSERT INTO `equipment_type` VALUES ('', '', '包装类_修改', '主要对产品及逆行打包操作', '', null, '', '2018-03-28 10:57:18', '', '2018-04-04 22:22:30');
INSERT INTO `equipment_type` VALUES ('', '', '测试类_修改', '测试类型的设备负责成品的测试工作', '', null, '', '2018-04-03 19:03:41', '', '2018-04-03 19:40:34');
INSERT INTO `equipment_type` VALUES ('', '', '钻孔类', '这种设备类型主要负责对产品进行钻孔操作', '', null, '', '2018-04-03 20:42:35', '', '2018-04-05 10:39:58');
INSERT INTO `equipment_type` VALUES ('', '', '测试', '饿啊', '', null, '', '2018-04-04 12:20:57', '', '2018-04-05 10:58:46'); -- ----------------------------
-- Table structure for `tb_area`
-- ----------------------------
DROP TABLE IF EXISTS `tb_area`;
CREATE TABLE `tb_area` (
`area_id` int(2) NOT NULL AUTO_INCREMENT,
`area_name` varchar(200) NOT NULL,
`priority` int(2) NOT NULL DEFAULT '',
`create_time` datetime NOT NULL,
`last_edit_time` datetime NOT NULL,
PRIMARY KEY (`area_id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4; -- ----------------------------
-- Records of tb_area
-- ----------------------------
INSERT INTO `tb_area` VALUES ('', '东苑', '', '2018-03-07 08:50:37', '2018-04-08 09:58:01');
INSERT INTO `tb_area` VALUES ('', '南苑', '', '2018-04-08 09:44:48', '2018-04-08 09:44:48');

  2.7 执行生成器

    直接运行生成器就行了

  

      

SpringBoot13 利用mybatis-plus自动生成entity、dao、service、controller的更多相关文章

  1. mybatis generate 自动生成 entity dao 和 xml 文件

    其中的一种方式 ,使用maven 插件 <build> <plugins> <plugin> <groupId>org.mybatis.generato ...

  2. 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)

    package com.flong.codegenerator; import java.sql.Connection; import java.sql.DatabaseMetaData; impor ...

  3. SprinfJdbcTemplate+SpringMVC 代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件)

    代码生成器实现的Entity,Dao,Service,Controller,JSP神器(含代码附件) 原文地址: http://jilongliang.iteye.com/blog/2262070 p ...

  4. 利用MyBatis生成器自动生成实体类、DAO接口和Mapping映射文件

    1. mybatis-generator-core-1.3.5.jar 下载地址:https://github.com/mybatis/generator/releases 2. msyql-conn ...

  5. Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (mysql)

    1/自动生成的jar包:mybatis-generator-core-1.3.2.jar   2/generatorconfig.xml文件如: <?xml version="1.0& ...

  6. Mybatis 如何自动生成bean dao xml 配置文件 generatorconfig.xml (main()方法自动生成更快捷)

    最近项目要用到mybatis中间件,中间涉及到要对表结构生成bean,dao,和sqlconfig.xml 所以记录一下学习过程 首先是准备工作,即准备需要的jar包:我们的数据库mysql,所以驱动 ...

  7. MyBatis代码自动生成(利用命令)

    这几天在学习springmvc,需要用到mybatis,所以研究了一下mybatis自动代码生成,当然也可以手动敲,但是那样效率非常的慢,并且出错率也是很高的,利用MyBatis生成器自动生成实体类. ...

  8. MyBatis代码自动生成

    MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生成器自动生成实 ...

  9. 使用Mybatis Generator自动生成Mybatis相关代码

    本文将简要介绍怎样利用Mybatis Generator自动生成Mybatis的相关代码: 一.构建一个环境: 1. 首先创建一个表: CREATE TABLE pet (name VARCHAR(2 ...

  10. 使用MyBatis Generator自动生成MyBatis的代码

    这两天需要用到MyBatis的代码自动生成的功能,由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所以可利用MyBatis生 ...

随机推荐

  1. ORM 关键

    1. 老师的增删改查 1. teacher_obj.cid.add(*[1, 2, 3]) 添加(必须打散) 2. teacher_obj.cid.set([1, 2, 3]) 设置(不用打散) 2. ...

  2. Elasticsearch安装 + Head插件安装 + Bigdesk插件安装

    一.Elasticsearch安装 1.官网下载zip包:https://www.elastic.co/downloads/elasticsearch 2.解压到自己指定的文件夹 3.运行\bin\e ...

  3. Jetty服务怎么配置,如何发布项目

    Jetty相对于Tomcat来时相对较轻,适合多并发且有较多实时通讯的系统,能够稳定的保持连接且占用资源相对较少.今天就简单介绍一下Jetty的配置及项目部署. 工具/原料 Jetty 电脑 Jett ...

  4. Java中小数保留问题

    方式一: 四舍五入   double   f   =   111231.5585;   BigDecimal   b   =   new   BigDecimal(f);   double   f1  ...

  5. AtCoder Grand Contest 017 迟到记

    晚上去操场上浪. 回来以后看到好几个人开着 \(AtCoder\) 在打代码. ... ... 今天有 \(AtCoder\) 比赛 ? 管它呢, \(Kito\) 在切西瓜,先吃西瓜... 然后看 ...

  6. 洛谷 P3144 [USACO16OPEN]关闭农场Closing the Farm_Silver

    传送门 题目大意: n个谷仓 ,每次关闭一个谷仓,问剩下没被关闭的谷仓是 否联通. 题解:并查集+倒序处理 代码: #include<iostream> #include<cstdi ...

  7. 阿里云ESC服务器安装tomcat后无法远程访问

    问题描述:服务器上面没有部署文件,安装了tomcat,在服务器本地能通过"localhost:8080"访问到tom猫页面 但是远程访问“外网ip+:8080”就访问不了 解决方案 ...

  8. Swift-自定制带有特殊按钮TabBar

    ---恢复内容开始--- 封装了一个带有中间凸起的自定制Tabbar,包含4个普通按钮和中间的一个凸起按钮- 首先封装了一个UIButton,重新设置了UIButton的图片位置和label位置 使用 ...

  9. Ambari client

    在研究如何修改YARN的资源池的时候,发现了Hortwork在github上面开源了一个Ambari Client: https://github.com/apache/ambari/tree/tru ...

  10. HPPTS SSL

    https加密.解密.及验证过程如下图: HTTPS怎么实现安全传输的? 建立安全传输 HTTPS中, 客户端首先打开一条到WEB服务器443端口的连接. 一旦建立了TCP连接 ,客户端和服务器就会初 ...