整合 JPA|学习笔记

简介: 快速学习整合 JPA

开发者学堂课程【SpringBoot快速掌握 - 核心技术整合JPA】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/612/detail/9279


整合JPA


一、前期准备

创建一个新工程并命为 project,spring 初始化向导,选择  Spring Boot  版本为1.5.10,并使用  web 模块, SQL 中选择 JPA 模块、JDBC 模块,导入了最基本的  jdbc  功能。

配置数据源

引入

spring:

datasource :

ur1: jdbc:mysql ://192.168.15.22/jpa

username: root

password: 123456

driver- class-name: com. mysql . jdbc.Driven


二、整合 SpringData JPA

SpringData 特点

SpringData 为我们提供使用统一的 API  来对数据访问层进行操作;这主要是  Spring Data Commons  项目来实现的。Spring Data Commons 让我们在使用关系型或者非关系型数据访问,技术时都基于Spring提供的统一标准,标准包含了CRUD(创建、获取、更新、删除)、查询、

排序和分页的相关操作。

JPA:ORM(Object Relational Mapping);

1)、编写一个实体类(bean)和数据表进行映射,并且配置好映射关系;//使用 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;

2)、编写一个 Dao 接口来操作实体类对应的数据表(Repository )
//继承 JpaRepository来完成对数据库的操作public interface UserRepository extends JpaRepository{

统一的Repository接口

Repository :统一接口

RevisionRepository> :基于乐观锁机制

CrudRepository :

基本CRUD操作

PagingAndSortingRepository :基本CRUD及分页
3)、基本的配置JpaProperties
spring:jpa:hibernate:
更新或者创建数据表结构
ddl-auto: update
控制台显示sql
show-sql: true

增删改查

@RestController

public class UserController {

@Autowired

UserRepository userRepository;

@GetMapping( "/user/{id}")

public User getUser(@PathVariable("id") Integer id){

User user = userRepository. find0ne(id);

return user;

}

@GetMapping("/user")

public User insertUser(User user) {

User save = userRepository. save(user);

return save ;

}

}

启动之后 

输入网址 localhost:8080/user/1 返回为空值

插入一个数据

localhost:8080/user?lastName=zhangsan&emall=aa

结果:

Id: 1

lastName “zhangsha”,

emall: “aa”

localhost:8080/user?lastName=lisi&emall=aa

结果:

Id: 2

lastName “lisi”,

emall: “aa”

相关文章
|
Web App开发 人工智能 数据可视化
RPA 快速入门|学习笔记
快速学习 RPA 快速入门
826 0
RPA 快速入门|学习笔记
|
6月前
xpath学习笔记
xpath学习笔记
26 0
|
存储 Java 关系型数据库
JPA1|学习笔记
快速学习JPA1
138 0
JPA1|学习笔记
|
存储 前端开发 NoSQL
JPA 5|学习笔记
快速学习JPA 5
142 0
JPA 5|学习笔记
|
SQL 前端开发 Java
JPA2|学习笔记
快速学习JPA2
108 0
JPA2|学习笔记
|
存储 前端开发 Java
JPA 6|学习笔记
快速学习JPA 6
148 0
JPA 6|学习笔记
|
存储 前端开发 JavaScript
JPA 7|学习笔记
快速学习 JPA 7
112 0
 JPA 7|学习笔记
|
存储 SQL 前端开发
JPA3|学习笔记
快速学习JPA3
148 0
JPA3|学习笔记
|
存储 JSON 前端开发
JPA 8|学习笔记
快速学习JPA 8
168 0
JPA 8|学习笔记
|
存储 自然语言处理 开发者
WhitespaceAnalyzer|学习笔记
快速学习 WhitespaceAnalyzer
WhitespaceAnalyzer|学习笔记