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就可以创建数据库,以及对数据库进行数据的添加以及树举得查询

浙公网安备 33010602011771号