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相关推荐

  1. springboot整合hibernate_峰哥说技术系列-17 .Spring Boot 整合 Spring Data JPA

    今日份主题 Spring Boot 整合 Spring Data JPA JPA(Java Persistence API)是用于对象持久化的 API,是Java EE 5.0 平台标准的 ORM 规 ...

  2. Spring Boot 之Spring data JPA简介

    文章目录 添加依赖 添加entity bean 创建 Dao Spring Data Configuration 测试 Spring Boot 之Spring data JPA简介 JPA的全称是Ja ...

  3. datav本地部署 java,Spring Boot对Spring Data JPA的自动配置

    一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...

  4. Spring Boot的Spring Data JPA示例

    1.简介 在本文中,我们将演示如何利用功能强大的Spring Data JPA API与本课程中的数据库(内存中的H2数据库)进行交互. Spring Data JPA提供了一组非常强大且高度抽象的接 ...

  5. Spring Boot中Spring data注解的使用

    文章目录 Spring Data Annotations @Transactional @NoRepositoryBean @Param @Id @Transient @CreatedBy, @Las ...

  6. Spring Boot和Spring数据JPA集成

    如今,借助于Spring Boot和spring Data,spring和JPA集成已变得轻而易举. 我要设置一个PostgreSQL服务器 docker pull postgres #run the ...

  7. Spring Boot和Spring Data REST –通过REST公开存储库

    使用Spring Boot和Spring Data REST,通过REST公开Spring Data存储库非常容易. 使用最少的代码,您可以创建遵循HATEOAS原理的JPA实体的REST表示. 我决 ...

  8. 带有Spring Boot和Spring Cloud的Java微服务

    朋友不允许朋友写用户身份验证. 厌倦了管理自己的用户? 立即尝试Okta的API和Java SDK. 在几分钟之内即可对任何应用程序中的用户进行身份验证,管理和保护. Java是开发微服务架构时使用的 ...

  9. Spring、Spring Boot与Spring MVC

    总论 Spring框架就像一个家族,有众多衍生产品例如boot.security.jpa等等.但他们的基础都是Spring的ioc和aop.ioc提供了依赖注入的容器,aop解决了面向横切面的编程:然 ...

  10. Spring、Spring MVC、Spring boot、Spring Cloud面试题(史上最全面试题,精心整理100家互联网企业,面试必过)

    最全面试题,精心整理100家互联网企业面经,祝你面试成功.面试必过(2023优化版)已发布在个人微信公众号[面向Offer学编程],优化版首先修正了读者反馈的部分答案存在的错误,同时根据最新面试总结, ...

最新文章

  1. the Determine in June
  2. 工程师文化播客: 从工程转向管理,访谈Github公司的Phil Haack
  3. C++ 生成洛伦兹的蝴蝶
  4. redis将散裂中某个值自增_0基础掌握Django框架(49)Redis
  5. ORACLE 添加和查看注释
  6. Linux mysql.plugin_Linux下MySQL安装
  7. 一个求矩阵鞍点(即行上最小的数 同时是列上最大的数)的C程序
  8. 震惊!原来leetcode竟然真的能中奖?
  9. 查询软件和硬件列表清单[将文章里代码另存为 list.vbs,双击运行就会出现一个html页面]...
  10. Nova 操作汇总(限 libvirt 虚机) [Nova Operations Summary]
  11. 最新版本kindle安卓app导入mobi图书和设置自定义字体的方法2020.01.09
  12. Linux下vi编辑器的使用方法
  13. 创新思维案列分析——苹果公司
  14. 移动机器人室内定位技术综述
  15. 实现Ubuntu与Windows之间的复制粘贴
  16. 一种营销新玩法微信分销系统
  17. 把阿拉伯数字翻译成中文大写数字
  18. 七零年代摄影师Robert Mapplethorpe
  19. Gulp教程(3)-与远程版本库协作
  20. 一个golang编写的redis内存分析工具rma4go

热门文章

  1. 彻彻底底了解回调函数
  2. chromium net库设计
  3. 现代的缓存设计方案:Window-TinyLFU
  4. MongoDB可视化工具--Robo 3T 使用教程
  5. JDBC连接失败java.sql.SQLException: ...ClassCastException: BigInteger cannot be cast to Long
  6. Linux问题分析与性能优化
  7. go build -X 的妙用
  8. 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)
  9. 新的Google Lyra音频编解码器对实时视频流意味着什么?
  10. 解析腾讯云音视频通信三大核心网络技术实战与创新