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());

最新文章

  1. 数据存储_SQLite (2)
  2. gtp转换mbr
  3. TreeMap源码分析
  4. JSOI Round 2题解
  5. NSOperation GCD 对比 (附NSOperation演练)
  6. codevs 1080 线段树练习
  7. ReactiveCocoa之UI篇
  8. 软件工程(c编码实践) 学习笔记(一)
  9. 使用awk排除第一行和第二行的数据
  10. 如何在APICloud平台使用腾讯X5引擎
  11. CentOS服务器的16个监控命令
  12. [转载]函数getopt(),及其参数optind
  13. magic_quotes_gpc、mysql_real_escape_string、addslashes的区别及用法
  14. js面向对象学习笔记(四):对象的混合写法
  15. windows 系统后台运行 jar 包
  16. RN-环境配置
  17. PHP单点登陆
  18. gitlab常用命令
  19. [Umbraco] Data Type之Render control
  20. maven 将jar 下载到工程当前目录下

热门文章

  1. mysql 常用见的错误处理
  2. C# 多线程刷新UI
  3. C#多线程---Task实现异步
  4. jQuery中ajax请求的六种方法(三、三):$.post()方法
  5. ES6扩展——函数扩展之剩余函数
  6. MySQL高可用主从复制部署
  7. Python3-sqlalchemy-orm 分组统计
  8. spring boot 系列之七:SpringBoot整合Mybatis
  9. 《DotNet Web应用单文件部署系列》一、pubxml文件配置
  10. Dubbo(一)——