目录

搭建springboot项目后端

搭建springboot项目(后端)

目录

1、新建一个文件夹,用ider打开

https://i-blog.csdnimg.cn/blog_migrate/8786e62008ab58a40df91bd3aae114a9.png

2、添加模块

https://i-blog.csdnimg.cn/blog_migrate/4e15171dc74c62ffaf6491f5c970ff7b.png

3、选择spring和要配置的参数

https://i-blog.csdnimg.cn/blog_migrate/a7f6cf193bbfbd2325b3582ed00ccfc8.png

4、确定

https://i-blog.csdnimg.cn/blog_migrate/a43f323d5a9536f35eedcb6b8e5b83a0.png

5、各个包下的代码

Mave工程

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.6.7</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.wy</groupId>
    <artifactId>wy</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>wy</name>
    <description>wy</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.2</version>
        </dependency>

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

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.30</version>
        </dependency>
        <dependency>
            <groupId>com.spring4all</groupId>
            <artifactId>spring-boot-starter-swagger</artifactId>
            <version>1.5.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.2</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

数据库配置代码

数据库的表

可以根据自己的需求建立

CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`no` varchar(20) DEFAULT NULL COMMENT '账号',
`name` varchar(100) NOT NULL COMMENT '名字',
`password` varchar(20) NOT NULL COMMENT '密码',
`age` int(11) DEFAULT NULL,
`sex` int(11) DEFAULT NULL COMMENT '性别',
`phone` varchar(20) DEFAULT NULL COMMENT '电话',
`role_id` int(11) DEFAULT NULL COMMENT '角色 0 超级管理员,1 管理员,2 普通账号',
`isValid` varchar(4) DEFAULT 'Y' COMMENT '是否有效,Y 有效,其他无效',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

改为.yml 的文件

https://i-blog.csdnimg.cn/blog_migrate/fd53895ff39228b6653eda5bb6a7b6fb.png

server:
port: 9999
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/one-wy?serverTimezone=GMT%2b8
username: root
password: root

可以用代码生成器生成那些目录和文件 👇

不用代码生成器可以自己写,下面的代码跟生成器生成的代码一样

mapper 下的 xxx.java

旧的自动生成没有加@Mapper 注解,记得加上注解

package com.wy.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wy.entity.Menu;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface MenuMapper extends BaseMapper<Menu> {
}

impl 包下的文件

package com.wy.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.wy.entity.Menu;
import com.wy.mapper.MenuMapper;
import com.wy.service.MenuService;
import org.springframework.stereotype.Service;

@Service
public class MenuServiceImpl extends ServiceImpl<MenuMapper, Menu> implements MenuService {

}

service 包下的接口文件

package com.wy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wy.entity.Menu;

import javax.management.Query;

public interface MenuService extends IService<Menu> {

}

entity 包下的文件

如果数据库里面的字节有大写,这里都要小写,然后是下划线,这里就要大写

package com.wy.entity;

import lombok.Data;

@Data //加了这个注解就不用写 get 和 set 了
public class User {
private int id;
private String no;
private String name;
private String password;
private int sex;
private int roleId;
private String phone;
private String isvalid;
private int age;
}

resources/mapper 下的 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.wy.mapper.UserMapper">
<resultMap id="BaseResultMap" type="com.wy.entity.User">
<id column="id" property="id"/>
<result column="no" property="no"/>
<result column="name" property="name"/>
<result column="password" property="password"/>
<result column="age" property="age"/>
<result column="sex" property="sex"/>
<result column="phone" property="phone"/>
<result column="role_id" property="roleId"/>
<result column="isValid" property="isvalid"/>
</resultMap>
<sql id="Base_Column_List">
id,no,name,password,age,sex,phone,role_id,isValid
</sql>

</mapper>

controller 包下的文件

controller 通过接收前端传过来的参数进行业务操作的(这些代码可以根据自己的需求写)

package com.wy.controller;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wy.entity.User;
import com.wy.service.UserService;
import com.wy.springboot.QueryPageparan;
import com.wy.springboot.Result;
import freemarker.template.utility.StringUtil;
import kotlin.jvm.internal.Lambda;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.HashMap;
import java.util.List;

@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/list")
public List<User> list(){
return userService.list();
}

    @PostMapping("/mod")
    public boolean mod(@RequestBody User user){
        return userService.updateById(user);
    }
    //新增或修改
    @PostMapping("/saveOrMod")
    public boolean saveOrMod(@RequestBody User user){
        return userService.saveOrUpdate(user);
    }
    //删除
    @GetMapping("/delete")
    public boolean delete(Integer id){
        return userService.removeById(id);
    }




    //查询(模糊、匹配)
    @PostMapping("/selectListo")
    public Result selectListo(@RequestBody User user){
        LambdaQueryWrapper<User> lambdaQueryWrapper=new LambdaQueryWrapper();
        if(StringUtils.isNotBlank(user.getName())){
            lambdaQueryWrapper.eq(User::getName,user.getName());
        }
        return Result.suc(userService.list(lambdaQueryWrapper));
    }

}