Spring Boot的Jpa数据访问

jpa就是相当于一个接口层,我们在使用jpa的时候,只需要会面向这个接口层进行编程即可,具体的实现,是它内部自己完成的。
jpa会对底层的架构进行整合,我们只需要面向jpa即可
我们在使用jpa的时候,在创建项目的时候,会选择web、mysql、jdbc、jpa进行项目的依赖整合
这里还是选择使用druid作为数据源,具体的druid的数据源的使用和配置,在前面有进行总结
在application.yml中对项目进行配置:
spring:
datasource:
url: jdbc:mysql://192.168.2.108:3306/jpa
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
jpa:
hibernate:
# 更新或者创建数据表结构
ddl-auto: update
# 控制台显示SQL
show-sql: true
我们需要创建一个实体:
package com.jpa.springboot.entity;
import javax.persistence.*;
//使用JPA注解配置映射关系
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") //对应的表的名称,@Table指定和哪个数据表对应,。如果省略表名,则默认的就是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;
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;
}
}

 

这里对应数据库的内容
还有就是需要创建Respository
package com.jpa.springboot.repository;
 
import com.jpa.springboot.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;
//继承JpaRepository 来完成对数据库的操作
public interface UserRepository extends JpaRepository<User,Integer> {
}
 
然后对请求进行解析的controller
package com.jpa.springboot.controller;
 
import com.jpa.springboot.entity.User;
import com.jpa.springboot.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 getUser(@PathVariable("id") Integer id){
User user =userRepository.findById(id).get();
return user;
}
@GetMapping("/user")
public User inserUser(User user){
User save=userRepository.save(user);
return save;
}
}

 

根据请求进行解析,然后就可以对我们的请求做出回应
不用编写sql就可以创建数据库,以及对数据库进行数据的添加以及树举得查询
 
 
posted @ 2019-08-19 18:01  H-Designer  阅读(219)  评论(0)    收藏  举报