第九篇:Spring Boot整合Spring Data JPA_入门试炼01
Spring Data JPA:介绍:
Spring Data就是spring提供操作数据库的框架,而Spring Data JPA只是Spring Data框架下的一个基于JPA标准操作数据库的模块。
Spring Data JPA:基于JPA的标准对数据进行操作。简化持久层的代码,只需要写接口。
SpringBoot整合Spring Data JPA
1、添加依赖:
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.0.9</version></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency>
2、添加application.yml配置信息:
#mysql数据库驱动 url username password
#数据库连接池
#正向工程
#控制台输出sql
spring:datasource:driver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=trueusername: rootpassword: roottype: com.alibaba.druid.pool.DruidDataSourcejpa:hibernate:ddl-auto: updateshow-sql: true
新建数据库
3、添加实体类
@Entity
@Table(name = "t_users")
@Data
public class Users {/*** @Id:表明id是主键* @GeneratedValue:生成策略*/@Id@GeneratedValue(strategy = GenerationType.IDENTITY)@Column(name = "id")private Integer id;@Column(name = "name")private String name;@Column(name = "age")private Integer age;@Column(name = "address")private String address;
}
4、添加持久层接口
/*** 参数1:当前将要映射的实体类* 参数2:当前将要映射的实体类中id主键类型*/
public interface UsersRepository extends JpaRepository<Users,Integer> {
}
5、在pom文件中添加测试启动类的坐标
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>
6、新建启动类
@SpringBootApplication
public class SpringBootDataJpaApplication {public static void main(String[] args) {SpringApplication.run(SpringBootDataJpaApplication.class, args);}
}
编写测试代码
我们要在test包下,新建com.gblfy.repository包(与上面的java包结构保持一致):
新建测试类UsersRepositoryTest继承Springboot生成的test类,这样做的好处就是:不用每个测试类都在类上添加测试注解,只需要继承共有的测试类即可(和接口实现类原理一样)
@RunWith(SpringRunner.class)
@SpringBootTest
public class UsersRepositoryTest {@Autowiredprivate UsersRepository usersRepository;@Testpublic void saveUser(){Users u = new Users();u.setName("zhangdan");u.setAge(25);u.setAddress("beijing");usersRepository.save(u);}
}
10、运行效果图:
查看数据库:
1、是否生成t_users表
2、是否将数据成功插入数据库
本文源码下载:
github地址:
https://github.com/gb-heima/Spring-Boot-Actual-Combat/tree/master/parent/spring-boot-chapter-9
第九篇:Spring Boot整合Spring Data JPA_入门试炼01相关推荐
- springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA
今日份主题 Spring Boot 整合 Spring Data JPA JPA(Java Persistence API)是用于对象持久化的 API,是Java EE 5.0 平台标准的 ORM 规 ...
- Spring boot 整合Spring Security Jwt
记录学习Spring boot 整合Spring Security Jwt 学习参考 – 慢慢的干货 https://shimo.im/docs/OnZDwoxFFL8bnP1c/read 首先创建S ...
- Spring Boot 整合——Spring batch重试和回滚
关于版本 依赖 版本 springboot 2.4.0 spring batch 2.4.0 代码地址 因为每个例子涉及代码较多,且包含测试用例,如果都贴到文章中内容过多,所以只贴出了部分代码.全部的 ...
- 二、何为Spring Boot整合Spring Cloud?
题语:学习方法之多思考:正向.逆向.跳跃 作者:A哥(YourBatman) wx号:fsx641385712(备注"Java群"字样) 公众号:BAT的乌托邦(ID:BAT-ut ...
- spring boot整合spring security笔记
最近自己做了一个小项目,正在进行springboot和spring Security的整合,有一丢丢的感悟,在这里分享一下: 首先,spring boot整合spring security最好是使用T ...
- 认证与授权流程与spring boot整合 spring security(1)
一 spring security 1.1 spring security的作用 Spring Security所解决的问题就是安全访问控制,而安全访问控制功能其实就是对所有进入系统的请求进行拦截 ...
- spring boot 整合 spring cache 简单使用
spring boot 整合 spring cache 简单使用 spring cache简介 使用spring cache spring cache简介 Spring 3.1起,提供了基于注解的对C ...
- Spring Boot 整合——Spring Boot整合kafka整合
Spring Boot 整合之前的内容 项目名称 描述 地址 base-data-mybatis 整合mybatis-plus(实际上官方教程已经很多,只做了自定义插件) 未完成 base-jpa J ...
- Spring Boot整合Spring Data JPA操作数据
一. Sping Data JPA 简介 Spring Data JPA 是 Spring 基于 ORM 框架.JPA 规范的基础上封装的一套 JPA 应用框架,底层使用了 Hibernate 的 J ...
最新文章
- java中抽象类的匿名子类和匿名对象
- 全景图拍摄_全景效果图制作软件如何选择?全景图拍摄有哪些步骤?
- DL之Yolov3:基于深度学习Yolov3算法实现视频目标检测之对《俄罗斯总统普京对沙特王储摊的“友好摊手”瞬间—东道主俄罗斯5-0完胜沙特》视频段实时检测
- 下面哪项属于计算机在教育教学中的应用,东师现代教育技术18秋在线作业2答案...
- ASP.NET Core on K8s学习之旅(13)Ocelot API网关接入
- .NET 实现并行的几种方式(一)
- python列表冒号逗号常规用法
- 谷歌新开源的MorphNet到底能为我们做什么?
- NG Command(命令)
- 果断放弃gnome 3
- C++高级进阶 第二季:mutable 关键字
- [GRE] 填空机经 Section61-65
- Android Socket通信
- Android开启桌面模式,Android Q自带桌面模式:支持大宽屏幕
- Boobooke (播布客) 是个好网站
- html-菜鸟--书架仿饿了么首页—Html学习(1)
- 计算机部分应用显示模糊,win10系统打开部分软件字体总显示模糊的解决方法-电脑自学网...
- python3今日头条App电商数据抓取
- 晶体(crystal)和晶振(oscillator)的区别
- day17 - Web前端概述
热门文章
- 分页查询抽象出的对象属性(笔记)
- Docker入门到精通开发指南(一文搞懂)
- 宜搭小技巧|找不到应用怎么办?群应用一键直达
- 快速上手 Serverless | 入门第一课
- 启动、内存、卡顿三大分析,用户体验就用它?
- StarLake:汇量科技云原生数据湖的探索和实践
- No.1-Apache IoTDB 随笔 - Time Series DBMS 综述
- 揭秘政企安全加速解决方案的架构与应用场景实践
- 你的食物变质没?用AI算法来检测一下吧
- 百度大脑“乘风”新基建,“破浪”产业智能化落地