后端Springboot框架搭建APi接口开发(第一章)

这篇具有很好参考价值的文章主要介绍了后端Springboot框架搭建APi接口开发(第一章)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文章以IDEA为开发工具,使用SSM框架进行项目编写

第一节:设计并创建数据库

我们用一个简单的用户表进行操作演示

首先创建Data数据库

create database data;

创建User数据表,表中包含用户邮箱用户姓名用户密码

create table user
(
	UserEamil varchar(50) not null primary key, 
	UserName varchar(50) not null,
    UserPWd varchar(50) not null
) engine innoDB default charset=utf8;

放点数据进去

insert into user value('admin123@qq.com','张三','admin123');
insert into user value('admin456@qq.com','李四','admin456');
insert into user value('admin789@qq.com','王五','admin789');

第二节:创建简易的SpringBoot项目

打开IDEA,在右上角点击NewProject。创建新的项目

后端Springboot框架搭建APi接口开发(第一章)

选择Spring Initializr框架,依次输入项目名称、项目路径、类型、组名、java版本。最后选择Next下一步。(为了统一性,建议与下图保持一致)

后端Springboot框架搭建APi接口开发(第一章)

这一步是要选择你项目中所需要的依赖。但是我这里要在配置文件中手动添加,因此直接点击右下角的create,完成创建。

后端Springboot框架搭建APi接口开发(第一章)

第三节:配置IDEA Database文件

在IDEA对话框的右上角找到竖着写的Database

后端Springboot框架搭建APi接口开发(第一章)

根据图文提示创建新的mysql数据库连接

后端Springboot框架搭建APi接口开发(第一章)

根据图文填写信息

后端Springboot框架搭建APi接口开发(第一章)

第四节:配置Pom.xml文件

pom.xml文件是maven的核心配置文件,主要用于导入maven依赖已经maven常规配置

注意:强烈不建议任何xml配置文件代码中存在中文注释

第一小节:导入maven依赖

Springboot API接口开发需要Mysql、MyBatis、junit、lombok、Springboot、SpringWeb依赖

查找maven的依赖可以在:maven官方网站查询(需要科x上网)

在项目结构最顶端找到pom.xml文件

后端Springboot框架搭建APi接口开发(第一章)

可以看到pom.xml文件中只有一些基本的配置信息,和一个Stringboot依赖

后端Springboot框架搭建APi接口开发(第一章)

可以复制我的依赖配置信息到pom.xml文件中

<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>

        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.2</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
		<dependency>
    		<groupId>org.springframework.boot</groupId>
   			<artifactId>spring-boot-starter-web</artifactId>
   			<version>2.6.14</version>
		</dependency>

第二小节:maven静态资源导出问题

静态资源导出,,不管是java文件下还是resources文件下,都导出

<resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <!--主要是加这行-->
                    <include>**/*.setting</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>

第三小节:刷新maven配置文件

一、二小节的配置完成后,点击一些右上角带M的小图标就可以了

后端Springboot框架搭建APi接口开发(第一章)

如果没有那个小图标,可以点击右侧的Maven里面的Install

后端Springboot框架搭建APi接口开发(第一章)

这里是完整的pom.xml配置代码

文件路径:SpringBoot\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>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>demo</name>
    <description>demo</description>
    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.11</spring-boot.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>

        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.9</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.2</version>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.24</version>
            <scope>provided</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.6.14</version>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
                <configuration>
                    <mainClass>com.example.demo.DemoApplication</mainClass>
                    <skip>true</skip>
                </configuration>
                <executions>
                    <execution>
                        <id>repackage</id>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.yml</include>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                    <!--主要是加这行-->
                    <include>**/*.setting</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>
</project>

第五节:配置Mysql配置文件

在目录结构中创建一个resource文件夹,并在文件夹下创建一个Mybatis-config.xml文件

后端Springboot框架搭建APi接口开发(第一章)

注意配置driver、url、username、password等信息

文件路径:SpringBoot\src\main\resources\Mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/data?characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="xxxxxxxxxx"/>
            </dataSource>
        </environment>
    </environments>
<!--    这里的mappers因mapper还没有开始编写,先暂时注释掉-->
<!--    <mappers>-->
<!--        <mapper resource="org/mybatis/example/BlogMapper.xml"/>-->
<!--    </mappers>-->
</configuration>

第六节:创建基础文件结构

按照图文所示,在main文件目录下依次创建java->com->zzj->demo,又在demo目录下创建controller、entity、mapper、util文件夹

文件夹名称 文件夹中文名 文件夹说明
controller api接口类 用于编写api接口方法
entity 实体类 用于编写与数据库字段的实体类方法,要求必须与数据库的字段相同
mapper mapper方法类 用于编写mybatis操作数据库的执行方法
util 工具类 用于编写会在程序中多次调用的方法,并封装起来供多次调用

后端Springboot框架搭建APi接口开发(第一章)

第七节:mybatis基础框架搭建

第一小节:编写实体类

在entity文件夹中创建User.java(文件名最好与数据表表命保持一致)

后端Springboot框架搭建APi接口开发(第一章)

这里用lombok注解的方式创建实体类

文件路径:demo\src\main\java\com\zzj\demo\entity\user.java

package com.zzj.demo.entity;

import lombok.*;

@Getter //Get方法
@Setter //Set方法
@ToString //ToString方法
@AllArgsConstructor //有产
@NoArgsConstructor //无产

public class user {
    private String UserEamil;
    private String UserName;
    private String UserPwd;
}

第二小节:编写mapper方法

这里以查询全部用户信息为例

在mapper文件夹中创建usermapper.java(注意:这里的usermapper.java需要创建interface)以及usermapper.xml两个文件

后端Springboot框架搭建APi接口开发(第一章)

UserMapper.java

文件路径:demo\src\main\java\com\zzj\demo\mapper\UserMapper.java

package com.zzj.demo.mapper;

import com.zzj.demo.entity.user;

import java.util.List;

public interface UserMapper {
    List<user> seleteUserList();
}
UserMapper.xml

文件路径:demo\src\main\java\com\zzj\demo\mapper\UserMapper.xml

<?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.zzj.demo.mapper.UserMapper">
    <select id="seleteUserList" resultType="com.zzj.demo.entity.user">
        select * from user;
    </select>
</mapper>

找到刚才创建的pom.xml核心配置文件文件,找到注释的代码,并取消注释

这里的mappers因mapper还没有开始编写,先暂时注释掉

文件路径:SpringBoot\src\main\resources\Mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/data?characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="XXXXXXXXXXXX"/>
            </dataSource>
        </environment>
    </environments>
    <!--    这里的mappers因mapper还没有开始编写,先暂时注释掉-->
        <mappers>
            <mapper resource="com\zzj\demo\mapper\UserMapper.xml"/>
        </mappers>
</configuration>

第三小节:编写测试类

到这里Mybatis的基本框架就算是搭建完成了,但是还需要在测试类运行一些。看看是否可以获取信息

src创建一个新的Test文件夹,并且创建一个与上面相同的文件夹结构

并且在文件夹最底层创建一个mapperTest.java测试类文件

后端Springboot框架搭建APi接口开发(第一章)

文件路径:SpringBoot\src\test\java\com\zzj\UserMapperTest.java


package com.zzj;
import com.zzj.entity.User;
import com.zzj.mapper.UserMapper;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;


public class UserMapperTest {
    @Test
    public void TestDemo01() throws IOException {
        //获取Mybatis配置文件
        String resource = "Mybatis-config.xml";
//        构建SqlSessionFactory
        InputStream resourceAsStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory build = new SqlSessionFactoryBuilder().build(resourceAsStream);
        SqlSession sqlSession = build.openSession();
//        调用映射器接口
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//        遍历数据,并打印
        for (User user : mapper.seleteUserList()) {
            System.out.println(user);
        }
//        记得一点要关闭SqlSession,否者会导致Mysql连接数过高,无法访问
        sqlSession.close();
    }
}

第四小节:运行测试类

点击下图的绿色小图标就可以运行测试类

后端Springboot框架搭建APi接口开发(第一章)

在下面的控制台可以看见结果已经输出了

后端Springboot框架搭建APi接口开发(第一章)

到这里Mybatis数据库查询操作就已经完成了。但是还没有实现利用APi接口进行数据库访问的功能,具体会在下节讲解。文章来源地址https://www.toymoban.com/news/detail-402677.html

到了这里,关于后端Springboot框架搭建APi接口开发(第一章)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 加密无忧:SpringBoot中快速搭建安全的API接口

    在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。 https://gitee.com/isuperag/rsa-encrypt-body-spring-boot 该项目使用RSA加密方式对API接口返回的数据加密

    2024年04月22日
    浏览(26)
  • 第一章: uniapp引入axios异步框架

    在学习uniapp的过程中,发现 uniapp 框架默认集成 request 请求框架存在问题,发送请求时在header中塞入token值,而后台接收不到,也就是说uniapp默认的request请求框架,不支持在请求头中放入token的做法。 基于以上原因,笔者确定放弃默认的请求框架,引入第三方 axios 请求框架。

    2024年02月04日
    浏览(27)
  • 第一章:SpringBoot基础入门

    Spring 能做什么 Spring 的能力 Spring 的生态 网址: https://spring.io/projects/spring-boot 覆盖了: Web 开发、数据访问、安全控制、分布式、消息服务、移动开发、批处理等。 Spring5 重大升级 响应式编程 内部源码设计 基于 Java8 的一些新特性。 为什么用 SpringBoot ​ Spring Boot makes it eas

    2024年02月12日
    浏览(35)
  • Flink第一章:环境搭建

    Flink第一章:环境搭建 Flink也是现在现在大数据技术中火爆的一门,反正大数据的热门技术学的也差不多了,啃完Flink基本的大数据技术就差不多哦学完了. 略 这里说明一下我选择的环境. java8 scala2.12 flink采用最新的1.17 请大家根据自己的环境更换版本 注 :这里使用DataSet对数据进行

    2024年02月04日
    浏览(31)
  • GoNote第一章 环境搭建

    Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人, 并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本 。现在Go的开发已经是完全开放的,并且

    2023年04月22日
    浏览(32)
  • 第一章 Jenkins搭建

    7年java程序员,准备认真总结点自己这些年学习到的技术知识、业务知识。本文先从服务器整体搭建,开始总结。 Jenkins是一个开源软件项目,是基于java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。 本

    2024年01月24日
    浏览(29)
  • Springboot2.0快速入门(第一章)

    Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程,所有东西都是bean; 2、通过

    2024年02月11日
    浏览(35)
  • 使用代码生成工具快速开发应用-结合后端Web API提供接口和前端页面快速生成,实现通用的业务编码规则管理

    在前面随笔《在Winform应用中增加通用的业务编码规则生成》,我介绍了基于Winform和WPF的一个通用的业务编码规则的管理功能,本篇随笔介绍基于后端Web API接口,实现快速的Vue3+ElementPlus前端界面的开发整合,同样是基于代码生成工具实现快速的前端代码的生成处理。 在前面

    2024年02月04日
    浏览(36)
  • 从Vue2到Vue3【一】——Composition API(第一章)

    内容 链接 从Vue2到Vue3【零】 Vue3简介 从Vue2到Vue3【一】 Composition API(第一章) 从Vue2到Vue3【二】 Composition API(第二章) 从Vue2到Vue3【三】 Composition API(第三章) 从Vue2到Vue3【四】 Composition API(第四章) Vue3作为Vue.js框架的最新版本,引入了许多令人激动的新特性和改进。其

    2024年02月16日
    浏览(22)
  • SpringBoot项目使用CXF框架开发Soap通信接口

    物料准备: 1.引入cxf官方提供的SpringBootStarter依赖 2.定义需要暴雷给外部调用的java接口以及接口的实现类 3.配置CxfConfig类,把你定义的java接口注册为webservice的Endpoint 这里因为我用的springboot版本是2.4.2的,所以这里选择引入的是3.2.4版本的cxf框架,不建议引入更高的版本。 接

    2024年02月10日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包