依赖导入
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
编写实体类
@Entity
@Table ( name = "tbl_user" )
public class User {
@Id
@GeneratedValue ( strategy = GenerationType. IDENTITY)
private Integer id;
@Column ( name = "last_name" , length = 50 )
private String lastName;
@Column
private String email;
}
yml配置
spring :
datasource :
username : houwei
password : houwei
url : jdbc: mysql: //localhost: 3306/jpa? serverTimezone=UTC&useUnicode =true&characterEncoding =utf8
driver-class-name : com.mysql.cj.jdbc.Driver
jpa :
hibernate :
ddl-auto : update
show-sql : true
创建UserRepository继承JpaRepository操作数据库
public interface UserRepository extends JpaRepository < User, Integer> {
}
controller 层
@RestController
public class UserController {
@Autowired
UserRepository userRepository;
@GetMapping ( "/user/{id}" )
public User getUser ( @PathVariable ( "id" ) Integer id) {
User user = userRepository. findById ( id) . get ( ) ;
System. out. println ( user) ;
return user;
}
@GetMapping ( "/user" )
public User insertUser ( User user) {
User save = userRepository. save ( user) ;
return save;
}
}
遇到的问题:
开始使用userRepository.findOne查询数据,结构没有查询到,然后又使用userRepository.getOne查询数据,结果报错,后来在百度上查寻原因结果为如下:
Jpa2以后就没有findOne() 方法了
2.0.5的已经变为了findById(id).get()来查询了。
然后采用了userRepository.findById(id).get()进行查询,结果查询成功