【xxx-mall学习系列-基础框架使用-001】-ssm整合

183 阅读2分钟

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_

修改的配置如下:

  1. 数据源
  2. 模块名 moduleName的值配置为对应的模块名,我这里是learn
  3. 包名
    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
  1. 表前缀
    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连上数据库,造些数据

接口访问:能调通,并返回结果即可