springboot整合JPA(简单整理,待续---)
整合步骤
引入依赖:
<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(简单整理,待续---)的更多相关文章
- SpringBoot数据访问(二) SpringBoot整合JPA
JPA简介 Spring Data JPA是Spring Data大家族的一部分,它可以轻松实现基于JPA的存储库.该模块用于增强支持基于JPA的数据访问层,它使我们可以更加容易地构建使用数据访问技术 ...
- SpringBoot整合SpringSecurity简单实现登入登出从零搭建
技术栈 : SpringBoot + SpringSecurity + jpa + freemark ,完整项目地址 : https://github.com/EalenXie/spring-secu ...
- springboot整合WebService简单版
一.什么是webservice 关于webservice的介绍摘自百度百科,上面的介绍很详细.(链接:https://baike.baidu.com/item/Web%20Service/121503 ...
- SpringBoot整合websocket简单示例
依赖 <!-- springboot整合websocket --> <dependency> <groupId>org.springframework.boot&l ...
- 【idea】Springboot整合jpa
第一步快速搭建springboot项目:在你建立的工程下创建 Module 选择Spring initializr创建. 第二步:修改包名.项目名.web项目打成war包.在Type处选择: Mave ...
- SpringBoot 整合 Jpa
项目目录结构 pom文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...
- SpringBoot非官方教程 | 第四篇:SpringBoot 整合JPA
转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot4-jpaJ/ 本文出自方志朋的博客 JPA全称J ...
- RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例
交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...
- springboot整合JPA创建数据库表失败
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table t_s ...
随机推荐
- 安装python--环境配置
1.下载Python:https://www.python.org/ 2.下载setuptools: https://pypi.Python.org/pypi/setuptools 3.下载pip: ...
- larave异步多图片上传的实现和注意事项及$file的对象函数
要使用多图片上传,首先要在input添加multipart,同时注意name的参数要加[],不然,不算是数组.具体如下,注意绿色地方.如果是单张图片,把[]去掉,不要multiple; <inp ...
- 使用Java Low Level REST Client操作elasticsearch
Java REST客户端有两种风格: Java低级别REST客户端(Java Low Level REST Client,以后都简称低级客户端算了,难得码字):Elasticsearch的官方low- ...
- mysql字符集校对
常用的两种 utf8_general_ci 按照普通的字母顺序,而且不区分大小写(比如:a B c D)utf8_bin 按照二进制排序(比如:A排在a前面,B D a c) ci是 case ins ...
- C++中继承与抽象类
继承语法格式如下: class 子类名称 : 继承方式(public private protected 三种) 父类名称 纯虚函数格式: virtual 返回值类型 函数名(参数列表)= 0:含有纯 ...
- Viterbi algorithm
HMM(隐马尔可夫模型)是用来描述隐含未知参数的统计模型,是一个关于时序的概率模型,它描述了一个由隐藏的马尔可夫链生成状态序列,再由状态序列生成观测序列的过程.其中,状态之间的转换以及观测序列和状态序 ...
- OO第四次博客作业
测试与正确性论证的效果差异及其优缺点 测试是利用测试代码,通过编写测试用例来验证代码是否能正常完成所要求的功能,自动测试相较于正确性论证来说更加的直观,直接测试代码的功能,而正确性论证是在JSF的基础 ...
- 三类设计模式UML图
http://design-patterns.readthedocs.org/zh_CN/latest/index.html
- 壁虎书3 Classification
MNIST fetch_openml returns the unsorted MNIST dataset, whereas fetch_mldata() returned the dataset s ...
- 用ImageJ快速分析和处理图像
ImageJ是一款由美国国立卫生研究院(NIH)开发的软件,原名NIH Image,适用于McIntosh.Windows和Linux等系统.ImageJ旨在对图像进行更好的分析和处理,可以下载或在线 ...