简易的web全栈开发——后端部分

简易的web全栈开发——后端部分

    • springboot框架的初始化
    • 操作数据库
    • 写一个CRUD类
    • 打包部署至服务器

java的下载与安装我就不写了,我这里用的是JDK17。技术栈准备用springboot+mybatis-plus。做一个简单的增删查改功能。

springboot框架的初始化

参考官网的描述,通过https://start.spring.io/下载代码,以前好像是都用maven生成的,这次用官网的生成器里,带了一个maven的脚本应该是
简易的web全栈开发——后端部分_第1张图片
执行命令启动springboot:./mvnw spring-boot:run
访问url:http://localhost:8080/hello?name=amy即可得到输出Hello amy!
简易的web全栈开发——后端部分_第2张图片

操作数据库

先在pom.xml中引入mybatis-plus以及mysql

		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<scope>runtime</scope>
		</dependency>
		<dependency>
			<groupId>com.baomidou</groupId>
			<artifactId>mybatis-plus-boot-starter</artifactId>
			<version>3.5.2</version>
		</dependency>

设置src\main\resources\application.properties的数据库配置

spring.jpa.hibernate.ddl-auto=none
spring.datasource.url=jdbc:mysql://host:3306/demo
spring.datasource.username=
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.jpa.show-sql: true

写一个CRUD类

计划中的项目是一个表格项目,用户在页面可以生成格子,编辑格子的内容,以及删除格子。那么这个类就需要三个属性:横坐标,纵坐标,以及内容。
我这里偷点懒,用lombok替代手写getter setter函数。lombok以及maven的使用和前端npm包以及npm的关系有点像。在pom.xml中引入依赖,在代码中引入库即可使用。
简易的web全栈开发——后端部分_第3张图片
虽然我这里功能很简单,但是按照惯例,设置了controllor,services,mapper,entity层。以add函数为例,代码如下

Mapper
package com.example.demo;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface TableItemMapper extends BaseMapper<TableItem> {

}
package com.example.demo;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import java.util.List;

@Service
public class TableItemServices {
  @Resource
  private TableItemMapper tableItemMapper;

  public Boolean add(long line, long colomn, String content) {
    if (line == 0 || colomn == 0) {
      return false;
    }
    TableItem tableItem = new TableItem(line, colomn, content);
    tableItemMapper.insert(tableItem);
    return true;
  }
}
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import org.mybatis.spring.annotation.MapperScan;
import javax.annotation.Resource;

@SpringBootApplication
@MapperScan("com.example.demo")
@RestController
public class TableItemControllor {
    @Resource
    private TableItemServices tableItemServices;

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

    @PostMapping("/add")
    public Boolean add(@RequestParam(value = "line", defaultValue = "0") Long line,
            @RequestParam(value = "colomn", defaultValue = "0") Long colomn,
            @RequestParam(value = "content", defaultValue = "World") String content) {
        Boolean result = tableItemServices.add(line, colomn, content);
        return result;
    }
}

启动项目后访问指定路径,返回结果如下,数据库中也有了数据
简易的web全栈开发——后端部分_第4张图片
还有一些细节问题,如返回体结构统一等后续再弄

打包部署至服务器

执行命令./mvnw package即可生成jar文件,,默认在target文件夹下,按照前端项目那样上传至服务器后执行命令nohup java -jar xxx.jar &。springboot项目即可在后台运行。
简易的web全栈开发——后端部分_第5张图片
后端服务挂在8080端口上,设置一个前缀把接口请求转发出去,测试后成功访问
简易的web全栈开发——后端部分_第6张图片
简易的web全栈开发——后端部分_第7张图片

你可能感兴趣的:(前端,mybatis,spring,boot)