快速导航
MySql
Mysql数据库这里要用到Spring-Data-Jpa,它是JPA规范下提供的Repository层的实现,可以使用Hibernate、OpenJpa等框架进行开发。关于JPA规范,它的全称Java Persistence API(Java持久化API)一个ORM规范,具体实现还是Hibernate等,JPA为我们提供了CRUD的接口。
常用方法
更多详细方法及使用参考官方文档 https://docs.spring.io/spring-data/jpa/docs/current/reference/html/
save(): 保存、更新
delete: 删除,或者deleteByProperty Property为字段属性名
findOne(): 通过id查询
findByProperty(type Property): 通过属性查询,例如表中的name字段查询,实现方式 findByName(String name)
findAll(): 查询所有数据
findAll(new PageRequest(1, 20)): 分页
添加依赖
项目根目录 pom.xml 添加依赖 spring-boot-starter-data-jpa mysql-connector-java
org.springframework.boot
spring-boot-starter-data-jpa
mysql
mysql-connector-java
修改配置文件
application.yml
mysql相关配置
datasource 数据源
driver-class-name 驱动名称
```url`` 数据库地址(hots:port/database)
username 数据库用户名
password 数据库密码
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/dbUser?useUnicode=true&characterEncoding=utf-8&useSSL=true
username: root
password: 123456
jpa相关配置
hibernate: 相关配置信息有以下几种类型
ddl-auto:create: 每次运行加载不管之前是否有数据都会自动创建一个表,会造成数据丢失。
ddl-auto:update: 第一次加载会创建新的数据接口,之后只会在原有表基础之上进行迭代。
ddl-auto:validate: 验证类里面的属性与表结构是否一致。
ddl-auto:create-drop: 每次退出时删除。
ddl-auto:node: 默认什么都不做。
show-sql: 是否打印SQL,在开发时可以开启方便调试。
database: 数据库类型。
spring:
jpa:
hibernate:
ddl-auto: update
show-sql: true
database: mysql
实例
Spring-Data-Jpa实现CRUD操作
实现以下需求:
GET: 查询所有用户信息
GET: 根据年龄获取用户信息
POST: 增加用户(姓名、年龄)
PUT: 修改用户
DELETE: 删除用户
创建表
就是创建存储的User实体(User类)
是不需要手动去数据库创建表的,以下创建的User类和定义的属性会对应到数据库中的表和字段,这就需要应用jpa的特性了,看下以下注解。
@Entity: 代表此类映射为数据库的表结构
@Id: 指定一个主键
@GeneratedValue: 配置主键相关信息
Table: 使用一个特定的数据库表来保存主键
IDENTITY: 数据库自动生成
AUTO: 主键由程序控制,默认值