JPA基本用法
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基本用法的更多相关文章
- JAVA JPA - 示例用法
JPA(Java Persistence API)是JSR(Java Specification Requests)的一部分,定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate. ...
- jpa findOne()用法
findOne(Interger id) 如果实体类没有id这个属性的话是会报错的 改别人的代码神烦...
- spring boot(五):spring data jpa的使用
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...
- 展开被 SpringBoot 玩的日子 《 五 》 spring data jpa 的使用
在上篇文章< 展开被 SpringBoot 玩的日子 < 二 >WEB >中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring da ...
- Spring Boot(五):Spring Boot Jpa 的使用
在上篇文章Spring Boot(二):Web 综合开发中简单介绍了一下 Spring Boot Jpa 的基础性使用,这篇文章将更加全面的介绍 Spring Boot Jpa 常见用法以及注意事项. ...
- (转)Spring Boot(五):Spring Boot Jpa 的使用
http://www.ityouknow.com/springboot/2016/08/20/spring-boot-jpa.html 在上篇文章Spring Boot(二):Web 综合开发中简单介 ...
- springboot:spring data jpa介绍
转载自:https://www.cnblogs.com/ityouknow/p/5891443.html 在上篇文章springboot(二):web综合开发中简单介绍了一下spring data j ...
- spring boot(五)Spring data jpa介绍
在上篇文章springboot(二):web综合开发中简单介绍了一下spring data jpa的基础性使用,这篇文章将更加全面的介绍spring data jpa 常见用法以及注意事项 使用spr ...
- @GeneratedValue 四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO.
一.JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@GeneratedValue设定的.这里 ...
随机推荐
- UWP 动画之路径
xml --------------------------------------------- <Page x:Class="MyApp.MainPage" xmlns= ...
- C 静态存储动态存储
首先,我们可以把程序所占的内存空间分为三个部分:(可以根据静态资源区.栈区.堆区来划分) 静态存储:程序运行期间由系统分配固定得到存储空间(栈): 动态存储:开发者根据自身需要进行动态分配的存储空间( ...
- js对url进行编码和解码
编码 只有 0-9[a-Z] $ - _ . + ! * ' ( ) , 以及某些保留字,才能不经过编码直接用于 URL. 例如:搜索的中文关键字,复制网址之后再粘贴就会发现该URL已经被转码. 1. ...
- 使用javascript纯前端导出excel
前言(感谢技术的分享者) 参考博客地址 github地址 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls.xlsx ...
- jQuery中的子(后代)元素过滤选择器(四、六):nth-child()、first-child、last-child、only-child
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- (int)a、&a、(int)&a、(int&)a的区别,很偏僻的题
(int)a.&a.(int)&a.(int&)a的区别,很偏僻的题 #include <iostream> #include <stdio.h> #i ...
- ES6——类表达式
//类表达式 const Person1 = class{ constructor(){ console.log('aa') } } //也可以跟上类名P,但是变量P在class外部是访问不到的,在c ...
- 你的 SQL 还在回表查询吗?快给它安排覆盖索引
什么是回表查询 小伙伴们可以先看这篇文章了解下什么是聚集索引和辅助索引:Are You OK?主键.聚集索引.辅助索引,简单回顾下,聚集索引的叶子节点包含完整的行数据,而非聚集索引的叶子节点存储的是每 ...
- 自己写一个Map
Map的实现其实很简单,一个key对应一个value就行 . 本Map是写着玩的,是想告诉初学者我们也可以写一个简单的Map来自己用 代码: public class MyMap<K, V> ...
- PPP协议、PPPoE协议、L2TP协议的关系
1. 简述 首先对这3中协议做一个简单的描述: 协议 协议类型 描述 PPP 点对点链路层协议 应用最广泛的点对点协议,可应用在多种网络,改善了SLIP协议的不足 PPPoE 点对点链路层协议 对PP ...