1. 项目搭建
1. 新建工程xxx-learn-ssm
该工程继承xxx-starter-parent,我这里为了将所有的使用教程写一块,故此,创建了一个父工程(xxx-learn),xxx-learn继承了xxx-starter-parent,由于maven的继承依赖关系,xxx-learn-ssm也就继承了xxx-starter-parent
pom文件如下:
<?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">
<parent>
<artifactId>xxx-learn</artifactId>
<groupId>com.xxx</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>xxx-learn-ssm</artifactId>
<dependencies>
<!-- web模块 -->
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-web</artifactId>
</dependency>
<!--db-->
<dependency>
<groupId>com.xxx.basic</groupId>
<artifactId>xxx-starter-mybatis-plus</artifactId>
</dependency>
</dependencies>
</project>
该pom文件依赖了两个基础框架内的包,整合web以及整合mybatis-plus的两个依赖。
2. 配置文件
application.yml
server:
port: 8001
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.1.201:13306/xxx-learn?useSSL=false&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true
application:
name: xxx-learn-ssm
配置了数据源、应用名、以及Tomcat端口
3. 启动类
新建包 com.xxx.learn
App.java
package com.xxx.learn;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author amyzhang
* @history 2020/9/17 新建
* @since JDK1.8
*/
@Slf4j
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
log.info("---->the server started successfully!");
}
}
3. 代码生成
1. 创建数据库
2. 导入表
测试用的脚本
-- -------------------------------------------------------------
-- 描述: demo表
-- -------------------------------------------------------------
CREATE TABLE `t_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id',
`user_name` varchar(50) NOT NULL DEFAULT '' COMMENT '用户名',
`nick_name` varchar(50) NOT NULL DEFAULT '' COMMENT '昵称',
`password` varchar(100) NOT NULL DEFAULT '123456' COMMENT '密码',
`email` varchar(100) NOT NULL DEFAULT '' COMMENT '邮箱',
`mobile` varchar(100) NOT NULL DEFAULT '' COMMENT '手机号',
`disabled` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否禁用0-正常,1-已禁用',
`dept_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '部门ID',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否删除0-正常,1-已删除',
`create_user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '创建人id',
`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_user_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '更新人id',
`update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_username` (`user_name`),
UNIQUE KEY `uk_mobile` (`mobile`),
UNIQUE KEY `uk_email` (`email`)
) COMMENT='demo表';
3. 修改代码生成器配置文件
完整配置文件如下:
server:
port: 18005
spring:
# 数据源
datasource:
url: jdbc:mysql://192.168.1.201:13306/xxx-learn?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: root
# mybatis
mybatis:
mapper-locations:
classpath*:mapper/**/*Mapper.xml
xxx:
gen:
author: amyzhang
dateFmt: yyyy-MM-dd
since: JDK1.8
moduleName: learn
templatePath: vm/mall
templateNames:
- DemoAddRo.java.vm
- DemoAdminController.java.vm
- DemoAdminService.java.vm
- DemoAdminServiceImpl.java.vm
- DemoMapper.java.vm
- DemoMapper.xml.vm
- DemoPageRo.java.vm
- DemoPo.java.vm
- DemoTransfer.java.vm
- DemoUpdateRo.java.vm
- DemoVo.java.vm
poNotContainFields:
- createUserId
- createTime
- updateUserId
- updateTime
- isDeleted
controllerPkg: com.xxx.learn.controller
servicePkg: com.xxx.learn.common.service
serviceImplPkg: com.xxx.learn.common.service.impl
mapperPkg: com.xxx.learn.common.mapper
poPkg: com.xxx.learn.common.po
voPkg: com.xxx.learn.common.vo
roPkg: com.xxx.learn.common.ro
dtoPkg: com.xxx.learn.api.dto
transferPkg: com.xxx.learn.common.transfer
tablePrefix: t_
修改的配置如下:
- 数据源
- 模块名 moduleName的值配置为对应的模块名,我这里是learn
- 包名
controllerPkg: com.xxx.learn.controller
servicePkg: com.xxx.learn.common.service
serviceImplPkg: com.xxx.learn.common.service.impl
mapperPkg: com.xxx.learn.common.mapper
poPkg: com.xxx.learn.common.po
voPkg: com.xxx.learn.common.vo
roPkg: com.xxx.learn.common.ro
dtoPkg: com.xxx.learn.api.dto
transferPkg: com.xxx.learn.common.transfer
- 表前缀
tablePrefix: t_
4. 运行代码生成器,生成代码
启动: 运行com.xxx.gen.GenApplication的main方法,启动xxx-gen工程。
访问:localhost:18005,勾选响应的表,点击代码生成按钮,即可下载到生成的代码压缩包。
5. 代码拷贝到xxx-learn-ssm项目中
解压下载的压缩包,将代码拷贝到xxx-learn-ssm中
4. 测试
启动:运行com.xxx.learn.App的main方法即可启动。
访问: http://localhost:8001/doc.html ,出现以下界面即可
造数据,Navicat连上数据库,造些数据
接口访问:能调通,并返回结果即可