SpringBoot整合SSM

如图所示:

一、数据准备:

数据库文件:数据库名:saas-export,表名:ss_company

创建表语句:

DROP TABLE IF EXISTS ss_company;
CREATE TABLE ss_company (
id varchar(40) NOT NULL COMMENT 'ID',
name varchar(255) DEFAULT NULL COMMENT '公司名称',
expiration_date datetime DEFAULT NULL COMMENT '到期时间',
address varchar(255) DEFAULT NULL COMMENT '公司地址',
license_id varchar(255) DEFAULT NULL COMMENT '营业执照-图片',
representative varchar(255) DEFAULT NULL COMMENT '法人代表',
phone varchar(255) DEFAULT NULL COMMENT '公司电话',
company_size varchar(255) DEFAULT NULL COMMENT '公司规模',
industry varchar(255) DEFAULT NULL COMMENT '所属行业',
remarks varchar(255) DEFAULT NULL COMMENT '备注',
state int(2) DEFAULT '' COMMENT '状态',
balance double DEFAULT NULL COMMENT '当前余额',
city varchar(20) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

数据插入语句:

INSERT INTO ss_company VALUES ('', '字节跳动', null, '北京', 'xxx002', '张某', '', '10000人以上', '互联网', '互联网公司', '', '', '北京');
INSERT INTO ss_company VALUES ('', '百度', null, '北京市海淀区', 'bzd001', '李某', '', '5000-10000人', '计算机', '', '', '', '北京');
INSERT INTO ss_company VALUES ('', '阿里巴巴', null, '中国杭州市滨江区', 'bzd002', '马某', '', '5000-10000人', '电子商务', '', '', '', '杭州');
INSERT INTO ss_company VALUES ('', '腾讯', null, '深圳市南山区', 'bzd003', '马某', '', '5000-10000人', '游戏', '', '', '', '深圳');

二、创建SpringBoot工程步骤:

1、起步依赖:导入SpringBoot所需的pom.xml文件

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
</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>
<!-- **web的起步依赖springMVC -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--jdbc-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!--springboot支持的是jpa,mybatisplus自己做了启动器-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.2</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>

<!--spring-test-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>

<!--添加lombok依赖-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
</dependencies>
<!--maven插件Spring Boot应用提供了执行Maven操作的可能-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

2、配置application.yml文件

spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/saas-export?characterEncoding=utf-8
username: root
password: root

server:
port: 8088

3、配置启动类ApplicationTest

package com.darren;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.darren.dao")
public class ApplicationTest {
public static void main(String[] args) {
SpringApplication.run(ApplicationTest.class,args);
}
}

二、整合SSM

备注:利用MyBatis逆向工程生成对应的pojo实体类、dao接口以及对应的映射文件

1、创建pojo实体类

package com.darren.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
@Data
@TableName("ss_company")
public class Company implements Serializable {
/**
* AUTO : AUTO(0, “数据库ID自增”),
* INPUT : INPUT(1, “用户输入ID”),
* ID_WORKER : ID_WORKER(2, “全局唯一ID”),默认值如果不设置会在用该策略
* UUID : UUID(3, “全局唯一ID”),
* NONE : NONE(4, “该类型为未设置主键类型”),
* ID_WORKER_STR : ID_WORKER_STR(5, “字符串全局唯一ID”);
*/

@TableId(type = IdType.UUID)
private String id;

private String name;

private Date expirationDate;

private String address;

private String licenseId;

private String representative;

private String phone;

private String companySize;

private String industry;

private String remarks;

private Integer state;

private Double balance;

private String city;

private static final long serialVersionUID = 1L;
}

2、创建Result类(建议)

备注:Result类主要是在使用postman测试的时候,给出提示信息

package com.darren.pojo;

import java.io.Serializable;

public class Result implements Serializable {

private boolean success; //状态判断
private String message; //返回的消息内容


public Result(boolean success,String message) {
this.message = message;
this.success = success;
}

public String getMessage() {
return message;
}

public void setMessage(String message) {
this.message = message;
}

public boolean isSuccess() {
return success;
}

public void setSuccess(boolean success) {
this.success = success;
}
}

3、创建Dao接口

备注:由于com.baomidou.mybatisplus.core.mapper包已经封装了CRUD功能,所以这里的Dao接口只需继承对应的BaseMapper<Company>接口就可以了

package com.darren.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.darren.pojo.Company;

public interface CompanyDao extends BaseMapper<Company> {
}

4、创建Service接口

package com.darren.service;

import com.darren.pojo.Company;

import java.util.List;

public interface CompanyService {
//查询所有
List<Company> findAll();

//单一查询
Company findOne(String id);

//更新
void update(Company company);

//添加
void add(Company company);

//删除
void delete(String id);
}

5、创建ServiceImpl实现类

package com.darren.service.impl;

import com.darren.dao.CompanyDao;
import com.darren.pojo.Company;
import com.darren.service.CompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class CompanyServiceImpl implements CompanyService {
@Autowired
private CompanyDao companyDao;
@Override
public List<Company> findAll() {
return companyDao.selectList(null);
}

@Override
public Company findOne(String id) {
return companyDao.selectById(id);
}

@Override
public void update(Company company) {
companyDao.updateById(company);
}

@Override
public void add(Company company) {
companyDao.insert(company);
}

@Override
public void delete(String id) {
companyDao.deleteById(id);
}
}

6、创建Controller类

package com.darren.controller;

import com.darren.pojo.Company;
import com.darren.pojo.Result;
import com.darren.service.CompanyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/company")
public class CompanyController {
@Autowired
private CompanyService companyService;

/**
* RESTful风格编程
* 查询:get
* 修改:put
* 添加:post
* 删除:delete
* @return
*/

//查询所有
@GetMapping
public List<Company> findAll(){
return companyService.findAll();
}

//查询单一
@GetMapping("/{id}")
public Company findById(@PathVariable String id){
return companyService.findOne(id);
}

//添加
@PostMapping
public Result add(@RequestBody Company company){
try {
companyService.add(company);
return new Result(true,"新增成功");
} catch (Exception e) {
e.printStackTrace();
return new Result(false,"新增失败");
}
}

//修改
@PutMapping
public Result update(@RequestBody Company company){
try {
companyService.update(company);
return new Result(true,"修改成功");
} catch (Exception e) {
e.printStackTrace();
return new Result(false,"修改失败");
}
}

//删除
@DeleteMapping("/{id}")
public Result delete(@PathVariable String id){
try {
companyService.delete(id);
return new Result(true,"删除成功");
} catch (Exception e) {
e.printStackTrace();
return new Result(false,"删除失败");
}
}
}

三、测试整合结果

启动ApplicationTest启动类,由于没有前端页面,所以这里使用postman工具进行测试

1、测试 "查询" 结果:

2、测试 "增加" 结果

3、测试 "修改" 结果

4、测试 "删除" 结果

SpringBoot整合SSM(代码实现Demo)的更多相关文章

  1. 使用SpringBoot整合ssm项目

    SpringBoot是什么? Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程. Spring Boot 现在已经成为Java ...

  2. Java学习之SpringBoot整合SSM Demo

    背景:在Java Web中Spring家族有着很重要的地位,之前JAVA开发需要做很多的配置,一堆的配置文件和部署调试一直是JavaWeb开发中的一大诟病,但现在Spring推出了SpringBoot ...

  3. MongoDB系列:三、springboot整合mongoDB的简单demo

    在上篇 MongoDB常用操作练习 中,我们在命令提示符窗口使用简单的mongdb的方法操作数据库,实现增删改查及其他的功能.在本篇中,我们将mongodb与spring boot进行整合,也就是在j ...

  4. SpringBoot整合ssm

    1.创建工程 使用idea可以快速创建SpringBoot的工程 这里选择常用的类库,SpringBoot将各种框架类库都进行了封装,可以减少pom文件中的引用配置: 比如Spring和Mybatis ...

  5. 初次搭建spring-boot 整合ssm(有许多小坑)

    首先,我是采用官网下载,版本最好选择1.5.16的(这是重点) 下载完毕后,用idea打开解压后的项目. 1.整合spring-mvc 在pom.xml中加入web依赖 <dependency& ...

  6. 学习SpringBoot整合SSM三大框架源码之SpringBoot

    Spring Boot源码剖析 一.Spring Boot 项目的启动入口流程分析 Spring Boot项目的启动入口main线程上有一个@SpringBootApplication( @Confi ...

  7. SpringBoot整合Spring Security使用Demo

    https://start.spring.io/ 生成SpringBoot项目 pom文件应该是我这样的: <?xml version="1.0" encoding=&quo ...

  8. SpringBoot整合MyBatis-Plus代码自动生成类

    在springboot的test测试类下创建 MpGenerator.java   配置  MpGenerator.java public class MpGenerator { @Test publ ...

  9. 阶段5 3.微服务项目【学成在线】_day05 消息中间件RabbitMQ_17.RabbitMQ研究-与springboot整合-消费者代码

    创建消费者的类 使用@Component把这个类标记成一个Bean 把生产者里面创建的配置文件类复制过来 在原始的消费的方法上面 ,我们是可以拿到channel通道的 message.getBody就 ...

随机推荐

  1. .NET Core应用的三种部署方式

    .NET Core应用提供了三种部署方式: FDD FDD:Framework-dependent deployment,框架依赖部署.这种方式针对某个特定版本的.NET Core进行发布,只打包应用 ...

  2. 三大特征提取器(RNN/CNN/Transformer)

    目录 三大特征提取器 - RNN.CNN和Transformer 简介 循环神经网络RNN 传统RNN 长短期记忆网络(LSTM) 卷积神经网络CNN NLP界CNN模型的进化史 Transforme ...

  3. Git项目分支分配

    主要分支包含master分支与develop分支,临时分支可以分为: release: 从develop分出 ,是最终要发布的版本. feature: 实现某功能时推荐新建分支,从develop分出. ...

  4. 你竟然不装油猴插件-Chrome神器TamperMonkey

    油猴插件是一款可以在chrome浏览器中使用油猴脚本的插件.理解为脚本运行的平台 脚本 是一段代码,安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容 ...

  5. Scala Eclipse org.eclipse.e4.workbench异常奔溃修复

     Scala Eclipse org.eclipse.e4.workbench异常奔溃修复: 找到<workspace>/.metadata/.plugins/org.eclipse.e4 ...

  6. Eclipse的Debug(一)

    本文链接:https://blog.csdn.net/u011781521/article/details/55000066    http://blog.csdn.net/u010075335/ar ...

  7. CSDN VIP如何添加引流自定义栏目

    几个月前我也开始在csdn上开了博客,一来给自己加几个少的可怜的流量,再者,让公众号的原创文章获得更多的曝光,让有需要的同学看到. 写过csdn博客的同学都知道,默认只有打赏c币功能:也没有专门广告位 ...

  8. day 21

    目录 组合 封装 访问机制 property 多态 抽象类的目的 鸭子类型 组合 组合是指的是一个对象中的属性,时另一个对象. 组合的目的和继承一样,为了减少代码冗余 封装 封装指的是把一堆属性(特征 ...

  9. 维护基于ASP.NET的网站的学习-SqlCommand类介绍及存储过程

    笔者目前在维护学校科技处的一个网站,目前学期初,教师申报项目操作多,出现了一些问题.前几天维护了一个验证码图片不显示的bug,今天想记录下这个解决了一整天的bug-老师项目结题需要手动修改数据库老师项 ...

  10. Dubbo+Zookeeper(一)Zookeeper初识

    前面花了一段时间去学习SpringCloud的相关知识,主要是理解微服务的概念并使用SpringCloud的一系列组件实现微服务落地.学习这些组件本身是简单的,跟着操作一遍基本就会了,这也得益于Spr ...