springboot学生管理系统后端接口
添加依赖
- 添加依赖到porm.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.0.Final</version>
</dependency>创建数据库
创建数据表
- 使用数据库实体创建数据表
- 添加信息到application.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21# 这里是项目的配置文件
# 设置项目运行的端口:
server.port=8080
# 这里是数据库连接驱动的设置,设置了一些连接参数来使连接有效。
# 数据库的连接驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# 连接数据库的地址,数据库的端口默认情况下是3306端口,请根据自己的情况修改
# 地址:端口/数据表名
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/user?serverTimezone=UTC&useSSL=false
# 连接的账号和密码,也要根据自己情况去修改。
spring.datasource.username=root
spring.datasource.password=root
# 这里配置的是hibernate 框架的信息,数据库的访问使用了 hibernate 框架。
# 这里是数据库的连接类型信息,选择的是mysql 数据库。
spring.jpa.database=mysql
# 这里的参数有五种,常用的就是 create 和 update ,区别在于create 在每一次启动应用的时候都会重新创建数据库,并把之前的数据全部删掉,而update 则是采用增量的方式来进行创建,只更新修改的了部分,保留未修改部分的数据
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true创建学生Bean
- 作为数据表的映射
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package com.example.demo;
import javax.validation.constraints.NotNull;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
public class StudentForm {
private Integer id;
private String account;
private String password;
private String name;
private Integer age;
/// 省略set、get、toString
} - 运行程序,自动创建数据表
添加数据库接口
1 | package com.example.demo; |
编写业务逻辑
1 | package com.example.demo; |
注解
@Entity
一个数据库实体注解,有这个注解的类代表和数据库中的某一个表相对应,这个类中的所有属性就是数据表中的所有字段,都是一一对应的,此外这个注解经常和@Table(name=“数据表名称”) 来一起使用,如果数据表名称和这个类的名称一致的话,那就可以省略@Table(name=“数据表名称”) 的注解
@Id
表示该属性为主键,数据表的主键就是可以唯一标识数据表中一行书库的一个属性组。
@GeneratedValue
表示该属性是一个自增属性,在插入的时候自动怎家,通常是 Integer 类型
@NotNull
表示这个属性不可以为空,这是数据库字段的约束,此外还有很多约束
@RestController
@RestController 是一个结合了 @ResponseBody 和 @Controller 的注解,@Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时使用,通常是在使用 @RequestMapping 后,返回值通常解析为跳转路径,加上@Responsebody 后返回结果不会被解析为跳转路径,而是直接写入HTTP 响应正文中。
@Autowired
注解在类上,表示这是一个控制层bean
@GetMapping
GetMapping(value=“url地址”) 指定url 地址,添加一个get请求方法,这样就可以用注解的方法来实现get请求的监听了
@PostMapping
和GetMapping 类似,就是监听的是一个Post 请求
@RequestParam
请求的参数,从前端传过来的参数,可以通过这个来获取
@PathVariable
类似于RequestParam,只不过请求的URL稍有不同,可以看例子使用
@Valid
这是一个校验的注解,在数据库实体类上定义的约束会会进行校验,不合格会返回一定的提示信息,保证数据库的完整性。