jpa基本查询

1.继承JpaRepository,生成了CRUD方法

public void testBaseQuery() throws Exception {
  User user=new User();
  userRepository.findAll();
  userRepository.findOne(1l);
  userRepository.save(user);
  userRepository.delete(user);
  userRepository.count();
  userRepository.exists(1l);
  // ...
}

jpa条件查询

主要的语法是findXXBy,readXXBy,queryXXBy,countXXBy, getXXBy后面跟属性名称:

List<Bank> findAllBankByValidSignOrderByBankCode(Integer validSign);

分页查询

在参数中加入Pageable

Page<User> findByUserName(String userName,Pageable pageable);

使用的时候传入page和size

如BootStrap的前台参数传入,后台controller直接用Pageable接收

当然用直接new方法也是可以构建的

PageRequest源码:

自定义查询

在SQL的查询方法上面使用@Query注解,如涉及到删除和修改在需要加上@Modifying

自定义映射

@Entity表示这是一个实体bean

@Table映射数据库中的表,若缺省,则自动采用与类名相同的表

@Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息(name属性为字段名)

@Id注释指定表的主键,生成规则由@GeneratedValue设定的,其中GenerationType有四种类型,依次是

TABLE,

SEQUENCE,

IDENTITY,(主键由数据库生成, 采用数据库自增长,Oracle不支持)

AUTO

这里使用的SEQUENCE是根据底层数据库的序列来生成主键,条件是数据库支持序列

SequenceGenerator的默认增长为50,初始值为1

多表查询映射

1.Dto联合

从@Query里的语句可看出定义了一个Dto联合UploadData与Bank实体类里的属性

@Param注解为使用:加上括号里面的注入参数(不是与方法参数相匹配的)

参考链接https://www.cnblogs.com/zj0208/p/6008627.html

2.@SecondaryTable 的使用

原生sql查询

注入实体管理器EntityManage,createNativeQuery方法为使用标准 SQL语句创建查询对象

了解一个返回总数的方法就够了

// 获取总数
String countSql = "select count(*) from (" + sql + ")";
Integer count = Integer.valueOf(entityManager.createNativeQuery(countSql).getSingleResult().toString());

JPA基本用法的更多相关文章

  1. JAVA JPA - 示例用法

    JPA(Java Persistence API)是JSR(Java Specification Requests)的一部分,定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate. ...

  2. jpa findOne()用法

    findOne(Interger id) 如果实体类没有id这个属性的话是会报错的 改别人的代码神烦...

  3. spring boot(五):spring data jpa的使用

    在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...

  4. 展开被 SpringBoot 玩的日子 《 五 》 spring data jpa 的使用

    在上篇文章< 展开被 SpringBoot 玩的日子 < 二 >WEB >中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring da ...

  5. Spring Boot(五):Spring Boot Jpa 的使用

    在上篇文章Spring Boot(二):Web 综合开发中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项. ...

  6. (转)Spring Boot(五):Spring Boot Jpa 的使用

    http://www.ityouknow.com/springboot/2016/08/20/spring-boot-jpa.html 在上篇文章Spring Boot(二):Web 综合开发中简单介 ...

  7. springboot:spring data jpa介绍

    转载自:https://www.cnblogs.com/ityouknow/p/5891443.html 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data j ...

  8. spring boot(五)Spring data jpa介绍

    在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...

  9. @GeneratedValue 四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.

    一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里 ...

随机推荐

  1. spring cloud 知识总结

    ### 单体应用存在的问题 - 随着业务的发展,开发变得越来越复杂.- 修改.新增某个功能,需要对整个系统进行测试.重新部署.- 一个模块出现问题,很可能导致整个系统崩溃.- 多个开发团队同时对数据进 ...

  2. C++基于ATL工程编写ActiveX控件步骤

    参考网址: https://blog.csdn.net/whui19890911/article/details/8896554 开发环境:VS2010 开发工程:C++ATL项目 开发目的:创建Ac ...

  3. C++11 weak_ptr智能指针

    和 shared_ptr.unique_ptr 类型指针一样,weak_ptr 智能指针也是以模板类的方式实现的.weak_ptr<T>( T 为指针所指数据的类型)定义在<memo ...

  4. redhat9 linux 网卡无法激活排障

    先查看自己的系统版本! [root@localhost root]# uname -a Linux localhost 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 ...

  5. php实现验证码(数字、字母、汉字)

    验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码.好吧,其实是没有事情干,但是又不想浪费时间,所以学习了下php实现验证码.正所谓,技多不压身.而且,也 ...

  6. C语言编译步骤

    C语言编译步骤:   1.预处理(hello.i ):宏定义展开.条件编译等,同是将代码中的注释删除,这里并不会检查语法 2.编译(hello.s):检查语法,将预处理后文件编译生成汇编文件. 3.汇 ...

  7. 如何实现LRU缓存?

    面试官:来了,老弟,LRU缓存实现一下? 我:直接LinkedHashMap就好了. 面试官:不要用现有的实现,自己实现一个. 我:..... 面试官:回去等消息吧.... 大家好,我是程序员学长,今 ...

  8. Shiro02

    Shiro认证 Pom依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>s ...

  9. K8S——Pod

    一.Pod概念 二.Pod存在的意义 三.Pod的实现机制 四.Pod镜像拉取策略 五.Pod资源限制 六.Pod重启机制 七.Pod的健康检查 八.Pod调度策略(创建Pod流程)

  10. GDAL 矢量裁剪栅格

    本节将介绍如何在Python中用GDAL实现根据矢量边界裁剪栅格数据. from osgeo import gdal, gdal_array import shapefile import numpy ...