前后端交互 知识框架梳理:html(js) -> ajax -> springboot 接口- > java代码 ->mysql
############ 接着上个文章 ###########
1.创建springboot项目
下一步选择Lombok、springweb、MyBatis Franmework、MySQL Driver依赖
点创建即可
2,建包、建java文件
重要 和 需要建的文件
3.创建依赖
在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>3.3.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.zxr</groupId>
<artifactId>tlias-web-management</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>tlias-web-management</name>
<description>tlias-web-management</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!--web起步依赖 -->
<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>3.0.3</version>
</dependency>
<!--MySql起步依赖-->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- springboot单元测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.9.1</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.3.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>
4.数据库准备
有这几个属性(自己加数据)
5.写pojo
(1)PageBean
package com.test.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageBean {
private long total; //总记录数
private List rows; //数据列表
}
(2)Result
package com.test.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Result {
private Integer code;//响应码,1 代表成功; 0 代表失败
private String msg; //响应信息 描述字符串
private Object data; //返回的数据
//增删改 成功响应
public static Result success(){
return new Result(1,"success",null);
}
//查询 成功响应
public static Result success(Object data){
return new Result(1,"success",data);
}
//失败响应
public static Result error(String msg){
return new Result(0,msg,null);
}
}
(3)User
package com.test.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
private Integer id;
private String name;
private Short gender;
private Integer age;
}
6.写UserController
注意注意注意!!!!
@RequestMapping("/users")中的/user是自定义的接口,可自行修改,前后端要一样
package com.test.controller;
import com.test.pojo.Result;
import com.test.pojo.User;
import com.test.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@Slf4j
@RestController
@CrossOrigin //支持跨域
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
//显示数据
@GetMapping
public Result list(){
log.info("查询全部人员数据");
//调用service查询数据
List<User> userList = userService.list();
// return userList;
return Result.success(userList);
}
//增加数据
@PostMapping
public Result add(@RequestBody User user){
log.info("新增用户为:{}",user);
userService.add(user);
return Result.success();
}
//删除数据,根据ID删除数据
@DeleteMapping("/{id}")
public Result delete(@PathVariable Integer id){
log.info("根据id删除:{}",id);
userService.delete(id);
return Result.success();
}
//修改数据
@PutMapping
public Result update(@RequestBody User user){
log.info("修改数据:{}",user);
userService.update(user);
return Result.success();
}
}
7.写 UserService
package com.test.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import com.test.pojo.User;
import java.util.List;
import com.test.mapper.UserMapper;
import com.test.service.UserService;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public List<User> list(){
return userMapper.list();
}
@Override
public void add(User user) {
userMapper.insert(user);
}
@Override
public void delete(Integer id){
userMapper.deleteById(id);
}
@Override
public void update(User user) {
userMapper.update(user);
}
}
8.写UserService
package com.test.service;
import com.test.pojo.User;
import java.util.List;
public interface UserService {
//查询数据
List<User> list();
//添加数据
void add(User user);
//删除数据
void delete(Integer id);
//修改数据
void update(User user);
}
9.UserMapper
注意 注意 注意!!!!
括号里面和操作数据库一样,这个类就是去获取数据库
db02.dbase ------> db02是我的数库名 dbase是我的表名,换成自己的
package com.test.mapper;
import com.test.pojo.User;
import org.apache.ibatis.annotations.*;
import java.util.List;
@Mapper
public interface UserMapper {
//查询数据
@Select("select * from db02.dbase")
List<User> list();
//添加数据
@Insert("insert into db02.dbase(name,gender,age) values(#{name},#{gender},#{age})")
void insert(User user);
//删除数据
@Delete("delete from db02.dbase where id = #{id}")
void deleteById(Integer id);
//修改数据
@Update("update db02.dbase set name=#{name} where id=#{id}")
void update(User user);
}
10.运行
右键点运行
application.properties文件的配置看上个文章
是这样基本上就没问题了
################ 下个文章讲测试数据 ###############
#############下下个文章讲与前端页面交互 ############