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 ...
随机推荐
- Android 基础知识
system/app 与 system/priv-app Android4.4系统在system目录下新增了priv-app目录,在该目录下的apk一般都是系统核心应用如Launcher.sy ...
- python中的基础2
2 2.1 字符串的索引与切片: a = 'ABCDEFGHIJK' print(a[0]) print(a[3]) print(a[5]) print(a[7]) 2.2 字符串的常用方法. pr ...
- svn的简单学习与日常使用
- VBA - ONE
1. Grouping our code (1) Modules
- ubuntu16.04升级Python3.5到Python3.7
因为python3.5和python3.6之后的版本差异很大,所有需要改变python的版本 简易安装python后得到的3版本的版本号是python3.5. 可以使用下面的命令查看py版本: pyt ...
- layui 重加载
tableIns.reload({ page: { curr: 1 //重新从第 1 页开始 } }); tableIns为layui 表格定义的函数 var tableIns= table.rend ...
- Elasticsearch学习笔记(五)索引元数据和集群元数据
一.索引元数据 执行:GET /ecommerce/product/1 返回结果: { "_index": "ecommerce", "_ty ...
- 添加新网络模型后运行报错:未定义的参数:ps_roipooling param
现象描述:在新增了具有自定义的data层或者loss层的网路之后,工程运行会报错: 疑惑:并没有这样的参数新增,并且前向的deploy文件已经将自定义的loss以及data等都去掉了: 可能的原因:虽 ...
- 虚拟机中linux系统的安装教程
虚拟机是什么? 虚拟机(Virtual Machine)是指一种特殊的软件,可以在计算机和用户之间创建一种环境,用户可以用这个软件所创建的环境来操作.虚拟机就像像真实机器一样运行程序,满足用户的需求. ...
- UIView的绘制原理
当UIView调用setNeedDisplay之后, 系统会调用view对应layer的 setNeedsDisplay, 在当前runloop即将结束的时候调用CALayer的display方法. ...