文章目录

  • 一、JPA自定义查询方法
  • 实体类
    • 1.1 单条件查询一条数据
    • 1.2 单条件查询多条数据
    • 1.3 多条件查询数据
    • 1.4 查询某一个字段
    • 1.5 in查询
    • 1.6 like查询
  • 二、自定义sql查询
    • 2.1 单条件查询
    • 2.2 多条件查询
    • 2.3 复杂多条件查询
    • 2.4 根据id修改数据
  • 总览

一、JPA自定义查询方法

方法名需要按指定规则来起:
单条数据:find+by+对象属性名
多条数据:findAll+by+对象属性名

实体类

@Data
public class People {private String id;private String name;private String code;private Integer age;
}

1.1 单条件查询一条数据

People findByCode(String code);

1.2 单条件查询多条数据

List<People> findAllByCode(String code);

1.3 多条件查询数据

People findByCodeAndAgeAndName(String code,Integer age,String name);

1.4 查询某一个字段

查到字段所在数据,从整条数据中再拿单个字段

People findByName(String name);

1.5 in查询

List<People> findByCodeIn(List<String> codes);

1.6 like查询

List<People> findAllByNameLike(String name);

二、自定义sql查询

2.1 单条件查询

@Query(value = "select * from people where code =?1 ",nativeQuery = true)
People findPeopleCustomizing(String code);

2.2 多条件查询

@Query(value = "select * from people where code =?1 and age = ?2",nativeQuery = true)
People findPeopleCustomizing(String code,Integer age);

2.3 复杂多条件查询

@Query(value = "select * from people where code =?1 and age = ?2 and name in (?3) ",nativeQuery = true)
People findPeopleCustomizing(String code,Integer age,List<String> name);

2.4 根据id修改数据

@Modifying(clearAutomatically = true)
@Query(nativeQuery = true,value = "update people set code = ?1 where id = ?2 ")
int updatePeople(String code, String id);

总览

@Repository
public interface PeopleRepository extends JpaRepository<People,String>, JpaSpecificationExecutor<People> {//jpa自带的方法,方法名需要按制定规则来起//1.单条件查询一条数据People findByCode(String code);//2.单条件查询多条数据List<People> findAllByCode(String code);//3.多条件查询数据People findByCodeAndAgeAndName(String code,Integer age,String name);//4.查询某一个字段People findByName(String name);//5.in查询List<People> findByCodeIn(List<String> codes);//6.like查询List<People> findAllByNameLike(String name);//自定义sql,方法名随意//1.自定义sql:单条件查询@Query(value = "select * from people where code =?1 ",nativeQuery = true)People findPeopleCustomizing(String code);//2.自定义sql:多条件查询@Query(value = "select * from people where code =?1 and age = ?2",nativeQuery = true)People findPeopleCustomizing(String code,Integer age);//3.自定义sql:复杂多条件查询@Query(value = "select * from people where code =?1 and age = ?2 and name in (?3) ",nativeQuery = true)People findPeopleCustomizing(String code,Integer age,List<String> name);//4.自定义sql:根据id修改数据@Modifying(clearAutomatically = true)@Query(nativeQuery = true,value = "update people set code = ?1 where id = ?2 ")int updatePeople(String code, String id);}

jpa常用查询方法使用总结自定义sql查询相关推荐

  1. java使用jdbc连接oracle,实现自定义sql查询,加载字段注释

    java使用jdbc连接oracle,实现自定义sql查询,加载字段注释 第一步.加载驱动 引用包 import java.sql.Connection; import java.sql.Driver ...

  2. 工作流实战_27_flowable 自定义sql查询

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 业务场景:在实际开发中,由于我们需要一些flowable的个性化查询,而且他们提供的ap ...

  3. java 查询sql_Java 中如何使用 SQL 查询文本

    [摘要] 使用 SQL 查询语言,你只能查询位于数据库里面的数据,但是当你面对的数据是一些 Excel 表格或者 Txt 文本格式时,有什么办法能直接对着文件进行 Select 查询呢?去乾学院看个究 ...

  4. mysql 查询语句超时_解决SQL查询总是 超时已过期

    1.由于数据库设计问题造成SQL数据库新增数据时超时 症状: Microsoft OLE DB Provider for SQL Server 错误 '80040e31' ([ODBC SQL Ser ...

  5. oracle function 写查询语句_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?...

    作者 | 董旭阳TonyDong,CSDN 博客专家 责编 | 唐小引 头图 | CSDN 下载自东方 IC 出品 | CSDN 博客 下面是 5 个关于索引和 SQL 查询性能的测试题:其中 4 个 ...

  6. mysql设置最大查询时间_mysql如何限制sql查询时间

    mysql限制sql查询时间的方法:1.查询今天,代码为[select * from 表名 where to_days(时间字段名) = to_days(now())]:2.查询昨天,代码为[SELE ...

  7. mysql 查询返回数组吗_php sql查询如何返回数组

    php sql查询返回数组的方法:1.使用mysql_fetch_row函数:2.通过mysql_fetch_assoc函数:3.使用mysql_fetch_array函数:4.使用mysql_fet ...

  8. oracle突然查询变慢,[转] Oracle sql 查询突然变慢 -- 案例分析

    一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决 步骤思路: 1:查看sql是否走索引 2:查看索引是否失效 3:hint 强制走索引(只是用来查看hint状态下,查询是否更 ...

  9. mysql数据库查询语句过程_mysql(一) SQL查询语句执行过程

    mysql基础架构 示意图 首先 mysql  大概分为 server层 和 存储引擎层 两个部分, 引擎的架构模式是插件形式的,mysql支持多种引擎如 InnoDB.MyISAM.Memory 等 ...

最新文章

  1. [转载] Maven类包冲突终极三大解决技巧 mvn dependency:tree
  2. AutoCAD .NET Wizard下载地址
  3. python评估不平衡数据集_Python Pandas:平衡不平衡的数据集(用于面板分析)
  4. Dockerfile封装Django镜像
  5. Java基础笔记(二)垃圾回收机制
  6. hdu 2570 (贪心)
  7. 公司决策层时刻想着:怎样开展业务,怎样防止公司完蛋
  8. html翻译插件,翻译插件:ImTranslator
  9. 糖豆推荐系统第一期开发与评估报告
  10. SpringBoot/SpringMVC整合Shiro:实现登录与注册(MD5加盐加密)
  11. unity制作火焰效果
  12. 用文件保存游戏服务器数据恢复,玩植物大战僵尸等单机游戏时,存档丢失了怎么数据恢复?...
  13. LCD显示屏与OLED屏幕对比分析
  14. 2020-10-20 任务三(一) RTOS系统初识
  15. 国外电子工程师们国内电子工程师火拼(转)
  16. python只读属性怎么设置_python 设置只读属性(property或者__setter__方法)
  17. 2022年全球市场男士防脱发和增长产品总体规模、主要生产商、主要地区、产品和应用细分研究报告
  18. win10c语言如何粘贴,如何在Windows 10中启用剪贴板历史记录
  19. Opengrok实践,踩坑才能避坑
  20. 未来人工智能,有什么新的发展趋势?

热门文章

  1. 网站云服务器1核和2核区别,购买服务器1核和2核是什么意思?区别是什么?
  2. Matlab_参数数量可变_笛卡尔积_Cartesian product
  3. Cocos2d-x3.3RC0的Android编译Activity启动流程分析
  4. JAVA基础字符串拆分歌词格式
  5. 中科创达:携手寒武纪科共同开发新型的人工智能解决方案
  6. 计算机弹奏西游记片头,西游记片头曲云宫迅音吉他谱_云宫迅音吉他弹奏视频...
  7. 苹果充电器不能充电了怎么办?
  8. ICRA2018 SLAM论文
  9. 有效提高网站打开速度的途径,给你的网站提速
  10. Linux vi简介