简单搭建SpringBoot连接数据库(测试通过)2022版本

1、首先我们建立一个SpringBoot项目(前提是环境和依赖地址等都已经搭建好)

在这里插入图片描述

2、然后找到我们父工程的pom文件,里面加入web依赖

<?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>
    <packaging>pom</packaging>
    <modules>
        <module>demo1-1</module>
    </modules>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.example</groupId>
    <artifactId>demo1</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <name>demo1</name>

    <description>demo1</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

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

        <!--web 没有这个项目启动不了-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <!--        mybatis-plus 持久层-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.1</version>
        </dependency>

        <!--        mybatis-plus 持久层-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.0.5</version>
        </dependency>
    </dependencies>

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

</project>

3、然后我们右键项目,建立模块

在这里插入图片描述

4、子工程的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>demo1</artifactId>
        <groupId>com.example</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>demo1-1</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencies>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.47</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>2.0.7</version>
        </dependency>
    </dependencies>

</project>

5、启动类,加pringBootApplication注解

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class demo1_1 {
    public static void main(String[] args) {
        System.out.println("Hello world!");
        SpringApplication.run(demo1_1.class);
    }
}

6、配置文件,如果复制到自己项目上启动有问题,建议手敲,然后启动项目即可

server:
  port: 9091
spring:
  datasource:
    username: root
    password: 123
    url: jdbc:mysql://localhost:3306/test?characterEncoding=utf-8&useSSL=false
    driver-class-name: com.mysql.jdbc.Driver
mybatis-plus:
  mapper-locations: classpath:com.example.mapper/**/*.xml  #找xml文件用的
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  #sql打印日志

7、实体代码

package com.example.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 
 * </p>
 *
 * @author testjava
 * @since 2022-05-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
//@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class WaterMeter implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("waterMeter")
    @ExcelProperty(value = "水表名")
    private String waterMeter;

    @TableField("waterMeterNo")
    @ExcelProperty(value = "水表号")
    private Integer waterMeterNo;

    @TableField("acquisitionTime")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "采集时间")
    private Date acquisitionTime;

    @TableField("data")
    @ExcelProperty(value = "数据")
    private BigDecimal data;

    @TableField("currentReading")
    @ExcelProperty(value = "当前读数")
    private BigDecimal currentReading;

    @TableField("consumption")
    @ExcelProperty(value = "用量")
    private BigDecimal consumption;

    @TableField(value = "createTime",fill = FieldFill.INSERT)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "创建时间")
    private Date createTime;

    @TableField(value = "updateTime",fill = FieldFill.INSERT_UPDATE)
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "修改时间")
    private Date updateTime;

    @TableField(value = "del_flag")
    private Integer delFlag;


}

8、mapper文件和mapping文件

package com.example.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.WaterMeter;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

@Repository
@Mapper
public interface WaterMeterMapper extends BaseMapper<WaterMeter> {
    WaterMeter getDataById(String id);
}

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.WaterMeterMapper">

    <select id="getDataById" resultType="com.example.entity.WaterMeter">
        select * from water_meter where id = #{id} and del_flag = 0
    </select>
</mapper>

9、controller

package com.example.controller;

import com.example.entity.WaterMeter;
import com.example.service.WaterMeterService;
import com.example.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/com/wang/test")
public class WaterMeterController {

    @Autowired
    private WaterMeterService waterMeterService;

    @PostMapping("/getDataById")
    public Result a(String id){
        WaterMeter waterMeter = waterMeterService.getDataById(id);
        return Result.ok(waterMeter);
    }

}

10、Service和ServiceImpl

package com.example.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.entity.WaterMeter;

public interface WaterMeterService extends IService<WaterMeter> {
    WaterMeter getDataById(String id);
}

package com.example.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.entity.WaterMeter;
import com.example.mapper.WaterMeterMapper;
import com.example.service.WaterMeterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class WaterMeterServiceImpl extends ServiceImpl<WaterMeterMapper, WaterMeter> implements WaterMeterService {

    @Autowired
    private WaterMeterMapper waterMeterMapper;
    @Override
    public WaterMeter getDataById(String id) {
        return waterMeterMapper.getDataById(id);
    }
}

11、返回结果类

package com.example.utils;

public class Result<T> {

    private static final String SUCCESS = "SUCCESS";

    private static final String FAIL = "FAIL";

    private String code;

    private String message;

    private T Data;

    public Result(String code) {
        this.code = code;
    }

    public Result(String code, String message) {
        super();
        this.code = code;
        this.message = message;
    }

    public Result(String code, String message, T data) {
        super();
        this.code = code;
        this.message = message;
        Data = data;
    }

    public Result() {

    }

    public String getCode() {
        return code;
    }

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

    public String getMessage() {
        return message;
    }

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

    public T getData() {
        return Data;
    }

    public void setData(T data) {
        Data = data;
    }

    public static <T> Result<T> ok(T object) {
        return new Result<T>(SUCCESS, "", object);
    }

    public static <T> Result<T> ok() {
        return new Result<T>(SUCCESS);
    }

    public static <T> Result<T> nok(String message) {
        return new Result<T>(FAIL, message);
    }

    public static <T> Result<T> nok() {
        return new Result<T>(FAIL);
    }

    public static <T> Result<T> nok(String code, String message) {
        return new Result<T>(code, message);
    }

    public static <T> Result<T> nok(String code, String message, T object) {
        return new Result<T>(code, message, object);
    }
}


12、代码整体结构

在这里插入图片描述

13、在.idea下的workspace下添加以下代码可以将服务放到services下进行统一管理

<component name="RunDashboard">
    <option name="configurationTypes">
      <set>
        <option value="SpringBootApplicationConfigurationType" />
      </set>
    </option>
  </component>

请求测试地址:http://localhost:9091/com/wang/test/getDataById ,自己写自己地址

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 环境准备 在开始搭建Springboot项目之前,需要安装以下环境: - JDK 8 或以上版本 - Maven - IDE(如IntelliJ IDEA、Eclipse等) 2. 创建Springboot项目 在IDE中创建一个新的Maven项目,选择Spring Initializr作为项目模板。 Spring Initializr是Spring官方提供的一个快速构建Springboot项目的工具,可以通过简单的配置和选择快速创建一个基础的Springboot项目。 在创建项目时,需要选择项目的基本配置,包括项目的名称、类型、包名、依赖等。可以根据自己的需求进行配置,也可以选择默认配置。 3. 添加依赖 Springboot项目的依赖管理非常方便,可以通过Maven中央仓库自动下载所需的依赖。 在pom.xml文件中添加需要的依赖即可,例如: ```xml <dependencies> <!-- Springboot核心依赖 --> <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.0.0</version> </dependency> <!-- 数据库驱动依赖 --> <dependency> <groupId>com.mysql.jdbc</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 4. 编写代码 在src/main/java目录下创建Springboot项目的主程序,该程序需要使用@SpringBootApplication注解标注。 ```java @SpringBootApplication public class MyApp { public static void main(String[] args) { SpringApplication.run(MyApp.class, args); } } ``` 在src/main/resources目录下创建application.properties文件,用于配置Springboot项目的一些参数。 例如,可以配置数据库连接参数: ``` spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver ``` 在src/main/java目录下创建具体的业务逻辑代码,例如: ```java @RestController @RequestMapping("/user") public class UserController { @Autowired private UserService userService; @GetMapping("/{id}") public User getUserById(@PathVariable("id") Long id) { return userService.getUserById(id); } @PostMapping("/") public void saveUser(@RequestBody User user) { userService.saveUser(user); } } ``` 5. 运行项目 在IDE中运行Springboot项目,可以通过浏览器访问http://localhost:8080/user/1测试接口是否正常。 如果一切正常,则说明Springboot项目已经搭建成功。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值