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 ...
随机推荐
- DAG---矩阵嵌套问题
矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c, ...
- Git&Version Control
Git Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内 ...
- 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 ...
- jenkins安装与配置---windows系统
记录安装过程中的步骤及遇到的坑,以做借鉴 服务器主机系统: windows9 ; 已安装开发环境: jdk8 ; 我采用的是war包直接运行的方式: 1.下载最新的版本(一个 WAR 文件).Jen ...
- NetBeans GUI tests on Jenkins + Windows (转)
from http://forgetfulprogrammer.wordpress.com/tag/interact-with-desktop/ Running NetBeans applicatio ...
- Vs Code 中文包设置
首先打开Vs Code 然后点击扩展 下载中文包 安装中文包 在没打开任何文件的时候我们可以看到一些提示 这个时候使用快捷键 Ctrl + Shift + P (显示所有命令),然后选择" ...
- Django登录与注销
一:Django中自带着登录,验证功能不用自己再去写登录功能. 1.从相应模块导入组件功能 from django.contrib.auth import authenticate,login 2.从 ...
- PHPstorm 2017激活
网上看了很多,有用没几个.特别亲身试验了下.有一个有用的.摘录下来.备忘. 感谢该篇博文的作者.https://blog.csdn.net/veloi/article/details/71307942 ...
- Mysql+keepalived双主
搭建环境说明: master1:192.168.175.210 主 master2:192.168.175.211 备 keepalived的vip: 192.168.175.11(注意这是虚拟IP, ...
- 使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(三)
接第二篇写 第四步,测试Oracle数据库的性能. a.加载JDBC Oracle驱动,添加线程组和线程属性和前面两部一样,如果有需要可以往前翻看. b.设置JDBC Connection Oracl ...