一、创建工程
二、配置application.yml
spring:
datasource:
url: jdbc:mysql://192.168.50.36:3307/jpaa
username: root
password: 123456
# mysql.cj报红可以在pom文件中mysql依赖中删除scope runtime
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
# 每次启动更新数据库的表啥的,没表就自动创建表,有表就看看对应的实体类是否改变,然后更新表的结构
ddl-auto: update
# 每次增删改查都会在控制台显示sql
show-sql: true
三、在entity文件夹下创建实体类
package com.atguigu.springbootdatajapzh.entity;
import javax.persistence.*;
//使用jpa注解配置映射关系
@Entity//告诉jpa这是个实体类(和数据表映射的类)
@Table(name = "tb1_user")//指定和哪一个数据表对应,如果不写这个注解默认表名就是user,运行项目会在数据库中自动创建tb1_user表
public class User {
@Id//这是一个主键
@GeneratedValue(strategy = GenerationType.IDENTITY)//这是一个自增主键
private Integer id;
@Column(name = "last_name", length = 50)//定义列明为last_name,为50个字符长度
private String lastName;
@Column//默认不写列名就是email
private String email;
//jap会根据你配的属性自动创建一张表
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
四、编写repository的接口
package com.atguigu.springbootdatajapzh.repository;
import com.atguigu.springbootdatajapzh.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
//继承JpaRepository完成对数据库的操作
public interface UserRepository extends JpaRepository<User, Integer> {//Integer是主键类型
}
五、编写controller
```java
package com.atguigu.springbootdatajapzh.controller;
import com.atguigu.springbootdatajapzh.entity.User;
import com.atguigu.springbootdatajapzh.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping("/user/{id}")
public User getById(@PathVariable("id")Integer id) {
User user = userRepository.findById(id).get();
return user;
}
@GetMapping("/user")
public User insertUser(User user) {
User save = userRepository.save(user);//存入一个user返回对应的user
return save;
}
}
六、测试