使用springboot新建一个后端项目

使用springboot新建一个后端项目

1.需要准备的工具:

IDEA
Mysql数据库
Navicat12
PostMan

2.操作步骤

(1)首先根据需求文档设计数据库

具体如何设计暂不讨论

(2)根据设计好的数据库创建数据库

MySQL数据库的安装可参考教程 ==》传送门

MySQL安装完成后,要使用到Navicat进行可视化建表,当然也可使用命令行建表,具体如何创建暂不讨论。

(3)使用IDEA配置springboot

在这里插入图片描述
在新建项目时在左边选择Spring Initializr
在这里插入图片描述
这一步需要修改一下包名,以及Java version,不能高于8;其余的基本保持不变即可

在这里插入图片描述

这一步中需要按需选择,根据项目特性选择需要的功能,也可以选择springboot的版本

后面改好包名后继续next,然后finish即可

(4)添加依赖

在这里插入图片描述
项目建好后会产生一个pom.xml文件,在这里面添加需要的依赖

<dependencies>
  	
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.1.1</version>
    </dependency>

    <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>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <dependency>
        <groupId>net.sf.json-lib</groupId>
        <artifactId>json-lib</artifactId>
        <version>2.4</version>
        <classifier>jdk15</classifier>
    </dependency>
    
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0</version>
    </dependency>
    
    <dependency>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-provider-api</artifactId>
        <version>3.3.1</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
    
    <dependency>
        <groupId>commons-fileupload</groupId>
        <artifactId>commons-fileupload</artifactId>
        <version>1.2.1</version>
    </dependency>

    <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
    </dependency>
    
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.2.3.RELEASE</version>
    </dependency>

</dependencies>

修改了配置文件要记得再左下角Import Changes

接下来需要新建文件目录
在这里插入图片描述
切记启动类要和controller,dao,entity,service在同一个目录下,否则会出现扫描不到其他几个文件夹的情况

另外,在新建的application.yml中添加配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/数据库名称?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8&autoReconnect=true&allowMultiQueries=true
    username: 你的数据库用户名
    password: 你的数据库密码

mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.program.facesigninsystem.entity

  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
(5)编写第一个接口

这里我们以用户登录示例
1.首先在entity中创建一个类,用来表示用户信息

package com.program.facesigninsystem.entity;

import org.springframework.stereotype.Service;

@Service
public class UserInfo {
    public String uid;
    public String account;
    public String name;
    public int type;
    public String academy;
    public String university;
    public String major;

    public void setUid(String uid) {
        this.uid = uid;
    }

    public void setAccount(String account) {
        this.account = account;
    }

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

    public void setType(int type) {
        this.type = type;
    }

    public void setAcademy(String academy) {
        this.academy = academy;
    }

    public void setUniversity(String university) {
        this.university = university;
    }

    public void setMajor(String major) {
        this.major = major;
    }

    public String getUid() {
        return uid;
    }

    public String getAccount() {
        return account;
    }

    public String getName() {
        return name;
    }

    public int getType() {
        return type;
    }

    public String getAcademy() {
        return academy;
    }

    public String getUniversity() {
        return university;
    }

    public String getMajor() {
        return major;
    }

}

里面的属性是根据数据库的字段编写的,方法一般情况下只用setter和getter即可

2.在dao中创建一个接口,以对前端参数进行数据处理

package com.program.facesigninsystem.dao;

import com.program.facesigninsystem.entity.UserInfo;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface IUserInfoDao {
    UserInfo loginUser(@Param("account") String account);
}

3.在service下创建一个接口,里面定义登录方法

package com.program.facesigninsystem.service;

import com.program.facesigninsystem.entity.UserInfo;

public interface IUserInfoService {
    UserInfo loginUser(String account);
}

4.在service-impl中创建一个类,去实现service接口中的方法

package com.program.facesigninsystem.service.impl;

import com.program.facesigninsystem.dao.IUserInfoDao;
import com.program.facesigninsystem.entity.UserInfo;
import com.program.facesigninsystem.service.IUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class UserInfoService implements IUserInfoService {
    @Autowired
    private IUserInfoDao iUserInfoDao;

    @Override
    public UserInfo loginUser(String account){
        UserInfo userInfo = iUserInfoDao.loginUser(account);
        return userInfo;
    }
}

5.在controller中创建一个类,用来连接前后端

package com.program.facesigninsystem.controller;

import com.program.facesigninsystem.entity.UserInfo;
import com.program.facesigninsystem.service.IUserInfoService;
import net.sf.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.Map;

@CrossOrigin
@RestController
@RequestMapping(value = "/auth")
public class UserController {
    @Autowired
    IUserInfoService iUserInfoService;
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    private Map loginUser(@RequestBody JSONObject account){
        Map map = new HashMap();
        UserInfo userInfo = iUserInfoService.loginUser(account.get("account").toString());
        if(userInfo!=null) {
            map.put("code", 200);
            map.put("data",userInfo);
        }
        else{
            map.put("code", 201);
            map.put("message","没有该用户!");
        }
        return map;
    }
}

6.在resources-mapper下创建一个UserMapper.xml文件,以编写数据库操作

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DID Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.program.facesigninsystem.dao.IUserInfoDao">
    <resultMap id="BaseResultMap" type="com.program.facesigninsystem.entity.UserInfo">
    </resultMap>
    <select id="loginUser" resultMap="BaseResultMap" parameterType="com.program.facesigninsystem.entity.UserInfo">
        SELECT  * from user where account=#{account} limit 0,1
    </select>
</mapper>

7.最后,连接数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接下来只需要开始运行项目就可以啦

在这里插入图片描述
如果在控制台看到如下信息
在这里插入图片描述
则说明启动成功,项目运行在localhost:8080
接下来使用postman对接口进行测试

在这里插入图片描述
数据获取成功!

至此,使用springboot创建新项目并编写第一个接口就成功了,后续将会加上更多相关内容

附,后端解决跨域问题的配置

CorsConfig.java

package com.program.facesigninsystem;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {

    public void addCorsMappings(CorsRegistry registry) {
        //设置允许跨域的路径
        registry.addMapping("/**")
                //设置允许跨域请求的域名
                .allowedOrigins("*")
                //这里:是否允许证书 不再默认开启
                .allowCredentials(true)
                //设置允许的方法
                .allowedMethods("*")
                //跨域允许时间
                .maxAge(3600);
    }

}
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要在customer下新建一个cfg文件夹,并在文件夹下新建一个名为MybatisPlusConfig.java的文件。在这个文件中,我们需要导入相关的包,包括com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor、org.springframework.context.annotation.Bean、org.springframework.context.annotation.Configuration和org.springframework.transaction.annotation.EnableTransactionManagement。我们还需要在类上添加@EnableTransactionManagement和@Configuration注解。 在MybatisPlusConfig类中,我们需要添加一个名为paginationInterceptor的Bean,使用@Bean注解来标识这是一个Bean。通过PaginationInterceptor类的实例化,我们可以配置分页插件的一些属性,例如设置请求页面大于最大页后的操作,设置最大单页面限制数量等。在这里,我们可以参考中的代码示例进行配置。 接下来,我们需要在dao层的CustomerTableDao中添加Mapper注解,以便与数据库进行交互。具体的代码示例可以参考中的博客。 最后,如果我们需要向表中添加数据,可以使用POST请求,并在实体类中添加@TableId(type = IdType.AUTO)注解来实现id的自增。这样,我们就可以通过向后端接口发送POST请求来向表中添加数据。具体的代码示例可以参考中的引用内容。 综上所述,这是实现springboot整合mybatis的后端接口的一种方法。可以按照以上的步骤和示例代码来实现后端接口的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [SpringBoot整合mybatis实现后端接口](https://blog.csdn.net/weixin_45297286/article/details/107703220)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值