SpringBoot整合SSM(代码实现Demo)

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 ‘1‘ COMMENT ‘状态‘,  balance double DEFAULT NULL COMMENT ‘当前余额‘,  city varchar(20) DEFAULT NULL,  PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

数据插入语句:

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

二、创建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、测试 "删除" 结果

原文地址:https://www.cnblogs.com/cndarren/p/11674801.html

时间: 2024-08-30 01:59:40

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

SpringBoot整合SSM项目

1.1.1      系统架构图 1.1.2      创建数据库表 p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; text-indent: 21.0pt; font-size: 10.5pt; font-family: Consolas } h1 { margin-top: 17.0pt; margin-right: 0cm; margin-b

SpringBoot整合ssm

1.创建工程 使用idea可以快速创建SpringBoot的工程 这里选择常用的类库,SpringBoot将各种框架类库都进行了封装,可以减少pom文件中的引用配置: 比如Spring和Mybatis整合的时候,传统Spring项目中需要引入: 1 <dependency> 2 <groupId>org.mybatis</groupId> 3 <artifactId>mybatis</artifactId> 4 <version>3.

SpringBoot整合SSM三大框架源码剖析之SpringBoot源码剖析

Spring Boot源码剖析 一.Spring Boot 项目的启动入口流程分析 Spring Boot项目的启动入口main线程上有一个@SpringBootApplication( @Configuration + @EnableAutoConfiguration + @ComponentScan )注解, 表明是主配置类, 让程序自动识别并进行必要的配置 项目启动后, 首先进行自动配置, 源码如下: ---在org.springframework.boot.autoconfigure 包

spring-boot整合SSM框架

1.整合spring-MVC拦截器 1.编写拦截器(实现HandlerInterceptor接口) 2.编写配置类实现WebMvcConfigurer,在该类中添加各种组件. a.注册拦截器 b.添加拦截器到spring mvc 拦截器里 2.整合事物和连接池 1.事物配置 a.添加事物相关的启动器依赖,mysql相关依赖 b.编写业务类Service使用事物注解@Transactional 2.数据库连接池hlkari配置 只需要在application配置文件中指定数据库相关参数 3.整合M

SpringBoot整合ssm日期类型转换

日期类型转换,我借助了工具类, 第一种方法 工具类是自定义的 package cn.studio.util; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; import

SpringBoot整合SSM之查询

一.引入项目所需要用到的依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId&g

springboot整合mybatis,redis,代码(一)

一 搭建项目,代码工程结构 使用idea或者sts构建springboot项目 二  数据库sql语句 SQLyog Ultimate v12.08 (64 bit) MySQL - 5.7.14-log ********************************************************************* */ /*!40101 SET NAMES utf8 */; create table `person` ( `id` int (11), `name`

SpringBoot整合mybatis使用pageHelper插件进行分页操作

SpringBoot整合mybatis分页操作 SpringBoot整合Mybatis进行分页操作,这里需要使用Mybatis的分页插件:pageHelper, 关于pageHelper的介绍,请查看官方文档: https://pagehelper.github.io/ 1.使用前配置 关于pageHelper的使用配置,主要有以下2个步骤: 1.1.在pom文件中导入pageHelper依赖 <dependency> <groupId>com.github.pagehelper&

springboot整合mybatis(SSM开发环境搭建)

0.项目结构: 1.application.properties中配置整合mybatis的配置文件.mybatis扫描别名的基本包与数据源 server.port=80 logging.level.org.springframework=DEBUG #springboot mybatis #jiazai mybatis peizhiwenjian mybatis.mapper-locations = classpath:mapper/*Mapper.xml mybatis.config-loca