package com.example.demo.entity;import javax.persistence.*;/*使用jpa注解配置映射关系*//*告诉jpa这是一个实体类和(数据表映射的类)*/@Entity@Table(name = "tal_user")public class User { @Id /*这是主键*/ @GeneratedValue(strategy = GenerationType.IDENTITY) /*主键自增*/ private Integer id; @Column(name = "lastName",length = 50)/*这是和数据表对应的一个列*/ private String lastName; @Column /*省略就代表默认属性名就是列名*/ private String email; 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; }}
package com.example.demo.repository;import com.example.demo.entity.User;import org.springframework.data.jpa.repository.JpaRepository;/*继承jpaRepository来完成对数据库的操作 参数是实体类型和实体类中的Id类型*/public interface UserRepository extends JpaRepository{}
package com.example.demo.Controller;import com.example.demo.entity.User;import com.example.demo.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;import java.util.List;@RestControllerpublic class UserController { @Autowired UserRepository userRepository; @GetMapping("/user/{id}") public ListgetUser(@PathVariable("id") Integer id){ User user = userRepository.getOne(id); final List users = userRepository.findAll(); return users; } @GetMapping("/user") public User insertUser(User user){ User save = userRepository.save(user); return save; }}
spring: datasource: username: root password: root url: jdbc:mysql://localhost:3306/jpa?serverTimezone=UTC driver-class-name: com.mysql.cj.jdbc.Driver jpa: hibernate:# 更新或者创建表结构 ddl-auto: update# 控制台显示sql show-sql: true
mysql mysql-connector-java 8.0.12