开发者学堂课程【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)、基本的配置JpaPropertiesspring:
jpa:
hibernate:
更新或者创建数据表结构ddl-auto: update
控制台显示sqlshow-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 ;
}
}
启动之后
输入网址 l
ocalhost:8080/user/1
返回为空值
插入一个数据
l
ocalhost:8080/user
?last
Name=zhangsan&emall=aa
结果:
I
d:
1
lastName “zhangsha”,
emall: “aa”
l
ocalhost:8080/user
?last
Name=lisi&emall=aa
结果:
I
d:
2
lastName “lisi”,
emall: “aa”