1、spring-data-jpa是spring对hibernate的整合
2、spring boot工程在实体类添加注解、添加两个依赖、写配置文件,可以自动生成数据库表
实体类:
@Entity //标明根据该类创建数据表
public class People {
@Id
@GeneratedValue //主键自增
private Long id;
private String name;
public People(){ //必须要有无参构造
}
}
 
application.yml默认配置文件:
#默认配置文件
spring:
profiles:
active: default
datasource: #配置数据库
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/hap_dev
username: root
password: tiger
jpa:
hibernate:
ddl-auto: create #运行时自动根据实体类创建数据库表
show-sql: true
 
注意:
ddl-auto: create,即运行时自动根据实体类创建people数据库表 ,若数据库表
people已存在则先删除再创建
ddl-auto: update,即运行时自动根据实体类创建people数据库表 ,若数据库表
people已存在则不做任何操作
ddl-auto: create-drop,即运行时自动根据实体类创建people数据库表,当应用停
止时删除该表
ddl-auto: none,即运行时什么也不干,无数据库表的操作
ddl-auto: validate,即运行时验证实体类属性与数据库表字段是否一致,不一致
则抛异常
 
 
pom.xml依赖(基本的spring boot依赖要有)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
 
3、由spring-data-jpa操作数据库(结合restful风格)
Service接口类:
// 继承jpa操作数据库的接口,并指定实体类名和主键类型
public interface PeopleRepository extends JpaRepository<People,Long> {
public List<People> findByName(String name);//自定义的方法命名要符合这个格式
}
Controller类:
@RestController
public class PeopleController {
@Autowired
private PeopleRepository peopleRepository;
 
//查询people表所有数据
@GetMapping("/peoples")
public List<People> getAll(){
return peopleRepository.findAll();
}
 
// 插入一条数据
@PostMapping("/peoples")
public People addOne(@RequestParam("name") String name){
People p=new People();
p.setName(name);
return peopleRepository.save(p);
}
 
//由id获取一条数据
@GetMapping("/peoples/{id}")
public People getOne(@PathVariable("id") Long id){
return peopleRepository.findOne(id);
}
 
//由id更新、插入一条数据
@PutMapping("/peoples/{id}")
public People putOne(@PathVariable("id") Long id,@RequestParam("name") String name){
People p=new People();
p.setId(id);
p.setName(name);
return peopleRepository.save(p);
}
 
// 由id删除一条数据
@DeleteMapping("/peoples/{id}")
public void delOne(@PathVariable("id") Long id){
peopleRepository.delete(id);
}
 
//通过name查询一条或多条数据
@GetMapping("/peoples/name/{name}")
public List<People> findByName(@PathVariable("name") String name){
return peopleRepository.findByName(name);
}
}
 
 
 
 

spring-data-jpa操作数据库的更多相关文章

  1. spring data jpa 操作pipelinedb 的continuous view 与stream

    一. 由于pipelinedb是postgreSQL的扩展,因此相关依赖于配置都合集成postgreSQL是一样的. springboot + spring data jpa + postgreSQL ...

  2. Springboot 系列(十)使用 Spring data jpa 访问数据库

    前言 Springboot data jpa 和 Spring jdbc 同属于 Spring开源组织,在 Spring jdbc 之后又开发了持久层框架,很明显 Spring data jpa 相对 ...

  3. Spring Boot (五)Spring Data JPA 操作 MySQL 8

    一.Spring Data JPA 介绍 JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Sprin ...

  4. 最近项目中使用Spring data jpa 踩过的坑

    最近在做一个有关OA项目中使用spring data JPA 操作数据库,结果遇到了补个不可思议的麻烦.困惑了好久. 首先看一下问题吧,这就是当时测试“设置角色时,需要首先删除该用户已经拥有的角色时” ...

  5. Spring Data JPA简单使用

    用Spring Data JPA操作数据库 这份教程教你用Spring Data JPA从关系数据库mysql中存储和提取数据.总结来自https://spring.io/guides/gs/acce ...

  6. SpringBoot入门 (五) 数据库访问之spring data jpa

    本文记录学习使用spring data jpa访问数据库 一 什么是Spring Data JPA JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java ...

  7. Spring Boot (6) Spring Data JPA

    JPA 全称Java Persistence API,JPA通过JDK 5.0注解或xml描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中 JPA是sun官方提出的java持久化规范, ...

  8. Spring Data JPA 多个实体类表联合视图查询

    Spring Data JPA 查询数据库时,如果两个表有关联,那么就设个外键,在查询的时候用Specification创建Join 查询便可.但是只支持左连接,不支持右连接,虽说左右连接反过来就能实 ...

  9. Spring boot 中Spring data JPA的应用(一)

    最近一直在研究Spring Boot,今天为大家介绍下Spring Data JPA在Spring Boot中的应用,如有错误,欢迎大家指正. 先解释下什么是JPA JPA就是一个基于O/R映射的标准 ...

  10. Spring Boot使用Spring Data Jpa对MySQL数据库进行CRUD操作

    只需两步!Eclipse+Maven快速构建第一个Spring Boot项目 构建了第一个Spring Boot项目. Spring Boot连接MySQL数据库 连接了MySQL数据库. 本文在之前 ...

随机推荐

  1. OSPF的五种报文

    OSPF的五种报文 Hello报文 DD(Database Description)数据库描述报文 LSR(LinkState Request)链路状态请求报文 LSU(LinkState Updat ...

  2. win10关于后缀名无法关联相应程序默认打开方式的处理方法

    系统:win10 专业版 现象:以".chm"文件为例,每次都要重新选择一次打开方式才能打开chm文件,无法设置默认打开方式. 解决方法: 1.win+r打开运行,输入regedi ...

  3. Kafka02--Kafka生产者简要原理

    前言 在Kafka01--Kafka生产者使用方式中对KafkaProducer的基本使用方式进行了了解.以上只是使用方面,一个好的开元框架必定是易于开发者使用的,但是对生产者的基本逻辑流程和数据流转 ...

  4. Java中实现多态的机制是什么?

    Java允许父类或接口定义的引用变量指向子类或具体实现类的实例对象,而程序调用的方法在运行时才动态绑定,就是引用变量所指向的具体实例对象的方法,也就是内存里正在运行的那个对象的方法,而不是引用变量的类 ...

  5. 为什么 wait 和 notify 方法要在同步块中调用?

    Java API 强制要求这样做,如果你不这么做,你的代码会抛出 IllegalMonitorStateException 异常.还有一个原因是为了避免 wait 和 notify 之间产生竞态条件.

  6. kafka 的高可用机制是什么?

    这个问题比较系统,回答出 kafka 的系统特点,leader 和 follower 的关系,消息 读写的顺序即可.

  7. 007.iSCSI服务器CHAP双向认证配置

    一 iSCSI和CHAP介绍 1.1 iSCSI 磁盘 iSCSI后端存储支持多种设备类型,主要有: 文件 单一分区(partition) 磁盘 数组 RAID LVM 本手册建议以裸磁盘vdb作为示 ...

  8. 4-Pandas数据预处理之数据转换(df.map()、df.replace())

    在数据分析中,根据需求,有时候需要将一些数据进行转换,而在Pandas中,实现数据转换的常用方法有: 利用函数或是映射 可以将自己定义的或者是其他包提供的函数用在Pandas对象上实现批量修改. ap ...

  9. Numpy中重要的广播概念

    Numpy中重要的广播概念 广播:简单理解为用于不同大小数组的二元通用函数(加.减.乘等)的一组规则 广播的规则: 如果两个数组的维度数dim不相同,那么小维度数组的形状将会在左边补1 如果shape ...

  10. 微信小程序:自定义组件的数据传递

    一.前言 如果小程序中有可复用的UI且具有一定的功能性,就可以使用自定义组件将其封装起来.下面介绍一个简单的组件和一个复杂的组件. 二.简单的组件(计数器) 1. 组件功能介绍 这个组件常见于外卖软件 ...