SpringBoot自动建表实用教程,以及简单前后端结合把数据显示到页面上(一看就会)
1.第一步
首先你得先创建一个Springboot的项目,里面要包含web和mysql
2.第二步
对依赖进行配置(也就是对pom进行配置)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Mysql支持 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
3.第三步
创建一个entity(也就是实体类)
package edu.zut.hb.software.studentmanagement.entity;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Entity
@Table(name = "teacher")
public class Teacher {
@Id
private Integer id;
public String getTeacherage() {
return teacherage;
}
public void setTeacherage(String teacherage) {
this.teacherage = teacherage;
}
public String getTeachername() {
return teachername;
}
public void setTeachername(String teachername) {
this.teachername = teachername;
}
@Column
private String teachername;
@Column
private String teacherage;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
}
注释(这里@Entity表示这个类是实体类, @Table表示与数据库中的teacher表进行绑定,@Data可以进行代替get,set方法,也可以向我这样自动生成get,set方法)
4.第四步
要创建一个教师操作的接口,使其能调用springboot里的内置方法来操作数据库,实现想要的增删改查
package edu.zut.hb.software.studentmanagement.repository;
import edu.zut.hb.software.studentmanagement.entity.Teacher;
import org.springframework.data.jpa.repository.JpaRepository;
public interface TeacherRepository extends JpaRepository<Teacher,Integer> {
}
这里的Integer指的是在teacher这个类里主键的类型
5.第五步
在创建一个教师的控制器,通俗一点的讲就是,根据你网络访问的路由不同,调用不同的方法来操作数据库
package edu.zut.hb.software.studentmanagement.controller;
import edu.zut.hb.software.studentmanagement.entity.Teacher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import edu.zut.hb.software.studentmanagement.repository.TeacherRepository;
import java.awt.print.Pageable;
import java.util.List;
@RestController
@RequestMapping("/teacher")
public class TeacherController {
@Autowired
private TeacherRepository teacherrepository;
@GetMapping("/findall")
public List<Teacher> findall(){
return teacherrepository.findAll();
}
}
6.第六步
很多人都不会也是交互的主要部分就是跨域
package edu.zut.hb.software.studentmanagement.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration
public class CrosConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("*")
.allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
.allowCredentials(true)
.maxAge(3600)
.allowedHeaders("*");
}
}
7.第七步
Springboot最大的好处就是可以配置自己想要的信息,更加方便,一下针对application.properties,yml得自己修改格式
server.port=8089
# Hibernate 相关配置
## 方言
#hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
## 显示Sql
hibernate.show_sql=true
## 自动建表方式
#hibernate.hbm2ddl.auto= update
## 数据库连接
spring.datasource.url=jdbc:mysql://localhost:3306/demo?useSSL=false&serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&allowPublicKeyRetrieval=true
## 用户名
spring.datasource.username=root
## 密码
spring.datasource.password=123456
## 数据库驱动
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
## 建表方式
spring.jpa.properties.hibernate.hbm2ddl.auto=update
8.最后一步
打开你的Nactive for mysql,或者Heidisql(我用的是这个)
新建一个数据库,然后运行XXXApplication,然后刷新你的数据库就有表了