Spring Boot结合spring-data-jpa
Spring Boot结合spring-data-jpa进行快速开发
1.添加依赖
<!-- spring-data-jap支持 --> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa </artifactId></dependency>
2.在配置文件中,添加数据库策略配置
spring.jpa.properties.hibernate.hbm2ddl.auto是hibernate的配置属性,其主要作用是:自动创建、更新、验证数据库表结构。该参数的几种配置如下:
create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表,哪怕两次没有任何改变也要这样执行,这就是导致数据库表数据丢失的一个重要原因。
create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
update:最常用的属性,第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据model类自动更新表结构,即使表结构改变了但表中的行仍然存在不会删除以前的行。要注意的是当部署到服务器后,表结构是不会被马上建立起来的,是要等应用第一次运行起来后才会。
validate:每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
这里我们设置
spring.jpa.properties.hibernate.hbm2ddl.auto=update
3.respository层
public interface UserRepository extends JpaRepository<User,Long>{User findByAge(int age);User findByNameAndAge(String name, Integer age);@Query("from User u where u.name=:name")User findUser(@Param("name") String name );
}
spring-data-jpa帮我们实现了很多dao层的基本函数
可以从JpaRepository接口中查看到这些函数。
当然,我们也可以自定义函数,例如
User findByAge(int age);
自动通过函数名,来执行相应的sql语句
还有一种方式
@Query("from User u where u.name=:name")
User findUser(@Param("name") String name);
自己亲自写sql语句,@param(“name”)里面的参数和 :name一样
4.控制层操作
@ResponseBody
@RequestMapping(value="/getuser" ,method=RequestMethod.GET)public User getLight(@RequestParam int age) {User findByName = userRepository.findByAge(age);return findByName;}
}
5.访问结果
Spring Boot结合spring-data-jpa相关推荐
- 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 data JPA简介
文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...
- datav本地部署 java,Spring Boot对Spring Data JPA的自动配置
一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...
- Spring Boot的Spring Data JPA示例
1.简介 在本文中,我们将演示如何利用功能强大的Spring Data JPA API与本课程中的数据库(内存中的H2数据库)进行交互. Spring Data JPA提供了一组非常强大且高度抽象的接 ...
- Spring Boot中Spring data注解的使用
文章目录 Spring Data Annotations @Transactional @NoRepositoryBean @Param @Id @Transient @CreatedBy, @Las ...
- Spring Boot和Spring数据JPA集成
如今,借助于Spring Boot和spring Data,spring和JPA集成已变得轻而易举. 我要设置一个PostgreSQL服务器 docker pull postgres #run the ...
- Spring Boot和Spring Data REST –通过REST公开存储库
使用Spring Boot和Spring Data REST,通过REST公开Spring Data存储库非常容易. 使用最少的代码,您可以创建遵循HATEOAS原理的JPA实体的REST表示. 我决 ...
- 带有Spring Boot和Spring Cloud的Java微服务
朋友不允许朋友写用户身份验证. 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK. 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. Java是开发微服务架构时使用的 ...
- Spring、Spring Boot与Spring MVC
总论 Spring框架就像一个家族,有众多衍生产品例如boot.security.jpa等等.但他们的基础都是Spring的ioc和aop.ioc提供了依赖注入的容器,aop解决了面向横切面的编程:然 ...
- Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)
最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...
最新文章
- the Determine in June
- 工程师文化播客: 从工程转向管理,访谈Github公司的Phil Haack
- C++ 生成洛伦兹的蝴蝶
- redis将散裂中某个值自增_0基础掌握Django框架(49)Redis
- ORACLE 添加和查看注释
- Linux mysql.plugin_Linux下MySQL安装
- 一个求矩阵鞍点(即行上最小的数 同时是列上最大的数)的C程序
- 震惊!原来leetcode竟然真的能中奖?
- 查询软件和硬件列表清单[将文章里代码另存为 list.vbs,双击运行就会出现一个html页面]...
- Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
- 最新版本kindle安卓app导入mobi图书和设置自定义字体的方法2020.01.09
- Linux下vi编辑器的使用方法
- 创新思维案列分析——苹果公司
- 移动机器人室内定位技术综述
- 实现Ubuntu与Windows之间的复制粘贴
- 一种营销新玩法微信分销系统
- 把阿拉伯数字翻译成中文大写数字
- 七零年代摄影师Robert Mapplethorpe
- Gulp教程(3)-与远程版本库协作
- 一个golang编写的redis内存分析工具rma4go
热门文章
- 彻彻底底了解回调函数
- chromium net库设计
- 现代的缓存设计方案:Window-TinyLFU
- MongoDB可视化工具--Robo 3T 使用教程
- JDBC连接失败java.sql.SQLException: ...ClassCastException: BigInteger cannot be cast to Long
- Linux问题分析与性能优化
- go build -X 的妙用
- 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
- 新的Google Lyra音频编解码器对实时视频流意味着什么?
- 解析腾讯云音视频通信三大核心网络技术实战与创新