整合步骤

引入依赖:

<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencie>

配置数据库连接

spring.datasource.url=jdbc:mysql://localhost:3306/ssmweb?useSSL=false&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true

编写与表对应的实体类

import javax.persistence.*;
import java.io.Serializable; @Entity
@Table(name = "dept")
public class Dept implements Serializable{ @Id
@GeneratedValue
@Column(name = "dept_id")
private Integer deptId;
@Column(name = "dept_name")
private String deptName; ...... @Override
public String toString() {
return "Dept{" +
"deptId=" + deptId +
", deptName='" + deptName + '\'' +
'}';
}
}

编写业务过程(controller,service,repository)

  repository:

import com.example.demo.entity.Dept;
import org.springframework.data.jpa.repository.JpaRepository; public interface DeptRepository extends JpaRepository<Dept,Integer>{ }

  service:

import java.util.List;

@Service
public class DeptService {
@Autowired
DeptRepository deptRepository; public List<Dept> getAll(){
return deptRepository.findAll();
}
}

  controller:

import java.util.List;

@RestController
public class DeptController {
@Autowired
DeptService deptService; @GetMapping("/depts")
public List<Dept> getAll(){
return deptService.getAll();
} }

简单测试

import com.example.demo.entity.Dept;
import com.example.demo.repository.DeptRepository;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.domain.Sort;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List; @RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootjpademoApplicationTests { @Autowired
DeptRepository deptRepository; @Test
public void test01() {
Sort sort = new Sort(Sort.Direction.DESC,"deptId");
List<Dept> all = deptRepository.findAll(sort);
for (Dept dept :all) {
System.out.println(dept);
}
}
}

JPA接口

接口间关系

简单测试

主要三个接口用法都相似,这里主要用JpaRepository测试。

1.JpaRepository接口中List<T> findAllById(Iterable<ID> var1)(批量查询)

 @Test
public void test02() {
List<Integer> idList = new ArrayList<>();
idList.add(1);
idList.add(3);
List<Dept> all = deptRepository.findAllById(idList);
for (Dept dept :all) {
System.out.println(dept);
}
}

2.PagingAndSortingRepository接口中Page<T> findAll(Pageable var1),JpaRepository继承PagingAndSortingRepository,所以可以使用父类的方法(分页排序查询)

@Test
public void test03() {
Sort sort = new Sort(Sort.Direction.DESC,"deptId");
Pageable pageable = PageRequest.of(0,2,sort);
Page<Dept> all = deptRepository.findAll(pageable);
for (Dept dept :all) {
System.out.println(dept);
}
}

springboot整合JPA(简单整理,待续---)的更多相关文章

  1. SpringBoot数据访问(二) SpringBoot整合JPA

    JPA简介 Spring Data JPA是Spring Data大家族的一部分,它可以轻松实现基于JPA的存储库.该模块用于增强支持基于JPA的数据访问层,它使我们可以更加容易地构建使用数据访问技术 ...

  2. SpringBoot整合SpringSecurity简单实现登入登出从零搭建

    技术栈 : SpringBoot + SpringSecurity + jpa + freemark ,完整项目地址 : https://github.com/EalenXie/spring-secu ...

  3. springboot整合WebService简单版

    一.什么是webservice 关于webservice的介绍摘自百度百科,上面的介绍很详细.(链接:https://baike.baidu.com/item/Web%20Service/121503 ...

  4. SpringBoot整合websocket简单示例

    依赖 <!-- springboot整合websocket --> <dependency> <groupId>org.springframework.boot&l ...

  5. 【idea】Springboot整合jpa

    第一步快速搭建springboot项目:在你建立的工程下创建 Module 选择Spring initializr创建. 第二步:修改包名.项目名.web项目打成war包.在Type处选择: Mave ...

  6. SpringBoot 整合 Jpa

    项目目录结构 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  7. SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot4-jpaJ/ 本文出自方志朋的博客 JPA全称J ...

  8. RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例

    交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...

  9. springboot整合JPA创建数据库表失败

    org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table t_s ...

随机推荐

  1. DAG---矩阵嵌套问题

    矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c, ...

  2. Git&Version Control

    Git Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1]  Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...

  3. CentOS / RHEL 7 : How to setup yum repository using locally mounted DVD

    1. Mount the RHEL 7 installation media ISO to some directory. For example /mnt : # mount -o loop rhe ...

  4. jenkins安装与配置---windows系统

    记录安装过程中的步骤及遇到的坑,以做借鉴 服务器主机系统: windows9 ;  已安装开发环境: jdk8 ; 我采用的是war包直接运行的方式: 1.下载最新的版本(一个 WAR 文件).Jen ...

  5. NetBeans GUI tests on Jenkins + Windows (转)

    from http://forgetfulprogrammer.wordpress.com/tag/interact-with-desktop/ Running NetBeans applicatio ...

  6. Vs Code 中文包设置

    首先打开Vs Code 然后点击扩展 下载中文包 安装中文包 在没打开任何文件的时候我们可以看到一些提示 这个时候使用快捷键 Ctrl + Shift + P  (显示所有命令),然后选择" ...

  7. Django登录与注销

    一:Django中自带着登录,验证功能不用自己再去写登录功能. 1.从相应模块导入组件功能 from django.contrib.auth import authenticate,login 2.从 ...

  8. PHPstorm 2017激活

    网上看了很多,有用没几个.特别亲身试验了下.有一个有用的.摘录下来.备忘. 感谢该篇博文的作者.https://blog.csdn.net/veloi/article/details/71307942 ...

  9. Mysql+keepalived双主

    搭建环境说明: master1:192.168.175.210 主 master2:192.168.175.211 备 keepalived的vip: 192.168.175.11(注意这是虚拟IP, ...

  10. 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(三)

    接第二篇写 第四步,测试Oracle数据库的性能. a.加载JDBC Oracle驱动,添加线程组和线程属性和前面两部一样,如果有需要可以往前翻看. b.设置JDBC Connection Oracl ...