SpringBoot搭建和入门案列

1.springboot项目搭建

参考 https://blog.youkuaiyun.com/qq_38379231/article/details/103955226

2.入门案列

2.1新建数据库名称 estate

CREATE TABLE tb_community (
id int(11) NOT NULL AUTO_INCREMENT COMMENT ‘小区id’,
code varchar(20) NOT NULL COMMENT ‘小区编号’,
name varchar(50) NOT NULL COMMENT ‘小区名称’,
address varchar(200) DEFAULT NULL COMMENT ‘坐落地址’,
area double DEFAULT NULL COMMENT ‘占地面积(m2)’,
total_buildings int(11) DEFAULT NULL COMMENT ‘总栋数’,
total_households int(11) DEFAULT NULL COMMENT ‘总户数’,
greening_rate int(11) DEFAULT NULL COMMENT ‘绿化率(%)’,
thumbnail varchar(200) DEFAULT NULL COMMENT ‘缩略图’,
developer varchar(100) DEFAULT NULL COMMENT ‘开发商名称’,
estate_company varchar(100) DEFAULT NULL COMMENT ‘物业公司名称’,
create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time timestamp NULL DEFAULT NULL COMMENT ‘更新时间’,
status char(1) DEFAULT ‘0’ COMMENT ‘状态:0-启用(默认),1-不启用’,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT=‘小区表’;

/*Data for the table tb_community */

insert into tb_community(id,code,name,address,area,total_buildings,total_households,greening_rate,thumbnail,developer,estate_company,create_time,update_time,status) values (1,‘HX19960101001’,‘化纤小区’,‘历城区花园路5号’,22000,66,2432,30,’/fileupload/d2cea885-a986-463a-97da-7073c9e6fbf6.jpg’,‘济南齐鲁化纤集团有限责任公司’,‘上海新长宁集团新华物业有限公司’,‘2020-12-13 09:12:04’,‘2020-12-13 09:26:12’,‘0’);
insert into tb_community(id,code,name,address,area,total_buildings,total_households,greening_rate,thumbnail,developer,estate_company,create_time,update_time,status) values (2,‘DH19960101002’,‘东风小区’,‘历城区花园路6号’,33000,50,2222,40,’/images/dongfeng.jpg’,‘济南齐鲁化纤集团有限责任公司’,‘上海新长宁集团新华物业有限公司’,‘2020-12-13 09:24:42’,‘2020-12-13 09:26:14’,‘0’);
insert into tb_community(id,code,name,address,area,total_buildings,total_households,greening_rate,thumbnail,developer,estate_company,create_time,update_time,status) values (3,‘BH19960101003’,‘百花小区’,‘历城区花园路7号’,44444,88,3000,50,’/fileupload/e6daae7d-17f6-4053-9e44-81cf5a4c5d82.jpg’,‘济南齐鲁化纤集团有限责任公司’,‘上海新长宁集团新华物业有限公司’,‘2020-12-13 09:24:42’,‘2020-12-13 09:24:42’,‘0’);
insert into tb_community(id,code,name,address,area,total_buildings,total_households,greening_rate,thumbnail,developer,estate_company,create_time,update_time,status) values (28,‘JYHF20160101001’,‘金域华府’,‘齐鲁软件园’,66666,66,2195,35,’/fileupload/ec760e4a-1e1e-479a-9d5d-8c8671069a58.jpg’,‘万达地产集团’,‘万科物业’,‘2020-12-14 19:29:48’,NULL,‘0’);

/*Table structure for table tb_complaint */

2.2包结构

pom.xml

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.14.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.suse</groupId>
    <artifactId>estate</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>estate</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--web项目-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--mybatis持久层-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <!--通用mapper起步依赖-->
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.0.4</version>
        </dependency>
        <!--mysql数据库驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.11</version>
        </dependency>
        <!--mybatis分页插件-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
        <!--文件上传相关依赖-->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!--JSON格式化工具包-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.28</version>
        </dependency>
        <!--junit测试-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.5.0</version>
            <scope>test</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

application.yml

server:
  port: 8888
spring:
  application:
    name: goods
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/estate?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai&zeroDateTimeBehavior=CONVERT_TO_NULL
    username: root
    password: '123456'
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 50MB

在这里插入图片描述
在这里插入图片描述
domain包下—>Community.java

package com.suse.estate.domain;

import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * 小区实体类
 */
@Table(name="tb_community")
public class Community implements Serializable {

    @Id
    private Integer id;

    private String code;
    private String name;
    private String address;
    private Double area;
    private Integer totalBuildings;
    private Integer totalHouseholds;
    private Integer greeningRate;
    private String thumbnail;
    private String developer;
    private String estateCompany;
    private Date createTime;
    private Date updateTime;
    private String status;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getArea() {
        return area;
    }

    public void setArea(Double area) {
        this.area = area;
    }

    public Integer getTotalBuildings() {
        return totalBuildings;
    }

    public void setTotalBuildings(Integer totalBuildings) {
        this.totalBuildings = totalBuildings;
    }

    public Integer getTotalHouseholds() {
        return totalHouseholds;
    }

    public void setTotalHouseholds(Integer totalHouseholds) {
        this.totalHouseholds = totalHouseholds;
    }

    public Integer getGreeningRate() {
        return greeningRate;
    }

    public void setGreeningRate(Integer greeningRate) {
        this.greeningRate = greeningRate;
    }

    public String getThumbnail() {
        return thumbnail;
    }

    public void setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail;
    }

    public String getDeveloper() {
        return developer;
    }

    public void setDeveloper(String developer) {
        this.developer = developer;
    }

    public String getEstateCompany() {
        return estateCompany;
    }

    public void setEstateCompany(String estateCompany) {
        this.estateCompany = estateCompany;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }
}

common包下–>Result.java

package com.suse.estate.common;

import java.io.Serializable;

/**
 * @Desc: 不分页-标准返回结果
 */
public class Result implements Serializable {

    private static final long serialVersionUID = -2435089504958177374L;

    private boolean flag;//是否成功
    private Integer code;//返回码
    private String message;//返回消息
    private Object data;
    /**
     * 功能描述: 无参构造
     * @return :
     */
    public Result() {
    }
    /**
     * 功能描述: 没有数据集结果的有参构造
     * @param flag  请求是否成功
     * @param code  请求返回状态码
     * @param message   请求返回消息提示
     * @return : 返回结果对象
     */
    public Result(boolean flag, Integer code, String message) {
        this.flag = flag;
        this.code = code;
        this.message = message;
    }
    /**
     * 功能描述: 有数据集结果的有参构造
     * @param flag  请求是否成功
     * @param code  请求返回状态码
     * @param message   请求返回消息提示
     * @param data  返回页面数据
     * @return : 返回结果对象
     */
    public Result(boolean flag, Integer code, String message, Object data) {
        this.flag = flag;
        this.code = code;
        this.message = message;
        this.data = data;
    }

    public boolean isFlag() {
        return flag;
    }

    public void setFlag(boolean flag) {
        this.flag = flag;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMessage() {
        return message;
    }

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

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Result{" +
                "flag=" + flag +
                ", code=" + code +
                ", message='" + message + '\'' +
                '}';
    }
}

controller包下---->CommunityController.java

package com.suse.estate.controller;

import com.suse.estate.common.Result;
import com.suse.estate.domain.Community;
import com.suse.estate.service.CommunityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 小区管理控制层
 */
@RestController
@RequestMapping("/community")
public class CommunityController {

    @Autowired
    private CommunityService communityService;

    @RequestMapping("/find")
    public Result find(){
        List<Community> all = communityService.findAll();
        return new Result(false,200,"请求成功",all);
    }
}

service包下 —>接口 CoumunityService

package com.suse.estate.service;

import com.suse.estate.domain.Community;

import java.util.List;

public interface CommunityService {
    public List<Community> findAll();
}

实现接口 CommunityServiceImpl.java

package com.suse.estate.service.impl;

import com.suse.estate.dao.CommunityMapper;
import com.suse.estate.domain.Community;
import com.suse.estate.service.CommunityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
@Service
public class CommunityServiceImpl implements CommunityService {

    @Autowired
    private CommunityMapper communityMapper;

    @Override
    public List<Community> findAll() {
        List<Community> communities = communityMapper.selectAll();
        return communities;
    }
}

dao包下—>CoumunityMapper

package com.suse.estate.service.impl;

import com.suse.estate.dao.CommunityMapper;
import com.suse.estate.domain.Community;
import com.suse.estate.service.CommunityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;
@Service
public class CommunityServiceImpl implements CommunityService {

    @Autowired
    private CommunityMapper communityMapper;

    @Override
    public List<Community> findAll() {
        List<Community> communities = communityMapper.selectAll();
        return communities;
    }
}

EstateApplication.java

package com.suse.estate;

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

@SpringBootApplication
//MapperScan要导入tk包下的
@MapperScan(basePackages = "com.suse.estate.dao")
public class EstateApplication {

    public static void main(String[] args) {
        SpringApplication.run(EstateApplication.class, args);
    }

}

运行结果
在这里插入图片描述
链接:https://pan.baidu.com/s/1rwef8YvHhSEsBrnKVdgpIw
提取码:c2sy
复制这段内容后打开百度网盘手机App,操作更方便哦

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值