Hibernate的查询方式(大全),springcloud视频

这篇具有很好参考价值的文章主要介绍了Hibernate的查询方式(大全),springcloud视频。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

也可以这样查询

(2.0)HQL别名查询

@Test

// 别名查询

public void demo03() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 得到所有的客户

//别名查询

Query query = session.createQuery(“from Customer c”);//c是Customer的别名

List list = query.list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(2.1)HQL别名查询

@Test

// 别名查询

public void demo03() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 得到所有的客户

//别名查询

Query query = session.createQuery(“select c from Customer c”);//c是Customer

List list = query.list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

C:HQL的排序查询

(1)默认排序:升序排序

@Test

// 排序查询

public void demo04() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 得到所有的客户

// 排序查询

List list = session.createQuery(“from Customer order by cust_id”).list();// c是Customer

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(2)设置降序排序

@Test

// 排序查询

public void demo04() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 得到所有的客户

// 降序查询

List list = session.createQuery(“from Customer order by cust_id desc”).list();// c是Customer

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

升序使用asc降序使用desc

D:HQL的条件查询

(一)按位置绑定:根据参数的位置进行绑定。

(1)一个条件

@Test

// 条件查询

public void demo05() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 条件查询

// 一、按位置绑定

Query query = session.createQuery(“from Customer where cust_name = ?”);// c是Customer

query.setParameter(0, “李冰”);

List list = query.list();

// 二、按名称绑定

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(2)多个条件(模糊查询)

@Test

// 条件查询

public void demo05() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 条件查询

// 一、按位置绑定

Query query = session.createQuery(“from Customer where cust_source = ? and cust_name like ?”);

query.setParameter(0, “小广告”);

query.setParameter(1, “李%”);

List list = query.list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(二)按名称绑定匿名名称

@Test

// 条件查询

public void demo05() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 条件查询

// 二、按名称绑定

Query query = session.createQuery(“from Customer where cust_source = :aaa and cust_name like :bbb”);

//设置参数

query.setParameter(“aaa”, “朋友推荐”);

query.setParameter(“bbb”, “李%”);

List list = query.list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

E:HQL的投影查询

投影查询:指的是查询对象的某个或某些属性。

(1)单个属性投影查询

@Test

// 投影查询

public void demo06() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 投影查询,查询当中的一个属性

List list = session.createQuery(“select c.cust_name from Customer c”).list();

for (Object object : list) {

System.out.println(object);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(2)多个属性投影查询

@Test

// 投影查询

public void demo06() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 投影查询,查询当中的一个属性

List<Object[]> list = session.createQuery(“select c.cust_name,c.cust_source from Customer c”).list();

for (Object[] objects : list) {

System.out.println(Arrays.toString(objects));

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(3)查询多个属性分装到对象当中投影查询

先对要查询的对象写入构造方法

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

@Test

// 投影查询

public void demo06() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 查询多个属性,分装到对象当中

List list = session.createQuery(“select new Customer(cust_name,cust_source) from Customer”).list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

F:HQL的分页查询

@Test

// 分页查询

public void demo07() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// 分页查询

Query query = session.createQuery(“from LinkMan”);

query.setFirstResult(0);

query.setFirstResult(10);

List list = query.list();

for (LinkMan linkMan : list) {

System.out.println(linkMan);

}

transaction.commit();

}

注意在LinkMan当中也要生成对应的toString 方法

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

G:HQL的分组统计查询

(1)分组查询

@Test

// 分组统计查询

public void demo08() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

//聚合函数的使用:聚合函数包括:count(),max(),min(),avg(),sum()

//代表唯一结果uniqueResult

Object object = session.createQuery(“select count(*) from Customer”).uniqueResult();

System.out.println(object);

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

(2)分组统计(按照客户的来源统计客户的个数)

SQL语句:SELECT cust_source,COUNT(*) FROM cst_customer GROUP BY cust_source;

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

转换HQL将字段变为属性,把表的地方变为对象

@Test

// 分组统计查询

public void demo08() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

List<Object[]> list = session.createQuery(“select cust_source,count(*) from Customer group by cust_source”).list();//代表唯一结果uniqueResult

for (Object[] objects : list) {

System.out.println(Arrays.toString(objects));

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

限定条件

SQL语句:SELECT cust_source,COUNT(*) FROM cst_customer GROUP BY cust_source HAVING count(*) >= 2;

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

@Test

// 分组统计查询

public void demo08() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

List<Object[]> list = session.createQuery(“select cust_source,count() from Customer group by cust_source HAVING count() >= 2”).list();//代表唯一结果uniqueResult

for (Object[] objects : list) {

System.out.println(Arrays.toString(objects));

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

总结聚合函数

聚合函数的使用:聚合函数包括:count(),max(),min(),avg(),sum()

聚合函数 count(),求数据表的行数

select count(*/字段名) from 数据表

聚合函数 max(),求某列的最大数值

select max(字段名)from 数据表

聚合函数min(),求某列的最小值

select main(字段名) from 数据表

聚合函数sum(),对数据表的某列进行求和操作

select sum(字段名) from 数据表

聚合函数avg(),对数据表的某列进行求平均值操作

select avg(字段名) from 数据表

聚合函数和分组一起使用

select count(*),group_concat(age) from students group by age;

F:HQL的多表查询
a、SQL当中的多表查询
连接查询

i、交叉连接:笛卡尔积

A,B 代表两个表,,这种查询方式一般不用

select * from A,B;

ii、内链接inner join(inner可以省略) 内链接查到的是两个表的

{

隐式内链接 :

A 和 B 是两个表 A.id和B.id 分别对应两个表的关联字段

select * from A,B where A.id=B.id;

显示内链接 :

A 和 B 是两个表 A.id和B.id 分别对应两个表的关联字段

select * from A inner join B on A.id = B.id;

}

iii、外链接 外链接查询到的是两个表的交集以及left 或right对应的数据

{

左外链接 :left outer join(outer 可以省略)

select * from A left outer join B on A.id = B.id;

右外链接 : right outer join(outer 可以省略)

select * from A right outer join B on A.id = B.id;

}

b、HQL当中的多表查询
链接查询

交叉连接

内链接

显式内连接:封装成为数组

隐式内连接 from Customer c inner join c.linkMans:封装成为数组

@Test

// HQL多表的查询

public void demo09() {

Session session = HibernateUtils.getCurrentSession();

Transaction transaction = session.beginTransaction();

// SQL:SELECT * FROM cst_customer c INNER JOIN cst_linkman l ON c.cust_id =

// l.lkm_cust_id;

// HQL的内连接:from Customer c inner join c.linkMans

Query createQuery = session.createQuery(“from Customer c inner join c.linkMans”);

List<Object[]> list = createQuery.list();

for (Object[] objects : list) {

System.out.println(Arrays.toString(objects));

}

transaction.commit();

}

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

迫切内连接:(会将当前表外键对应的另外一个表当中的的数据都分装当中当前表对应的对象当中)封装成为对象

@Test

// HQL多表的查询

public void demo09() {

Session session = HibernateUtils.getCurrentSession();//建立连接

Transaction transaction = session.beginTransaction();//开启事务

// SQL:SELECT * FROM cst_customer c INNER JOIN cst_linkman l ON c.cust_id =

// l.lkm_cust_id;

// HQL:迫切内连接 其实就是在普通的内连接inner join后添加一个关键字叫fetch --> from Customer c inner join

// fetch c.linkMans

// fetch通知Hibernate,将另一个对象的数据封装到该对象当中,也就是前面的对象当中(将LinkMan当中的数据放到Customer当中)

List list = session.createQuery(“from Customer c inner join fetch c.linkMans”).list();

for (Customer customer : list) {

System.out.println(customer);

}

transaction.commit();

}

获取到的内容是将LinkMan当中的东西分装到了Customer当中,并且数据冗余

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

Hibernate的查询方式(大全),springcloud视频,2024年程序员学习,hibernate,spring cloud,java

公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-htPJE1oc-1711628106129)]
[外链图片转存中…(img-8AIGwzGu-1711628106130)]
[外链图片转存中…(img-9f64eyYe-1711628106131)]
[外链图片转存中…(img-Db18FpLq-1711628106131)]
[外链图片转存中…(img-RDcVArJt-1711628106131)]
[外链图片转存中…(img-8czsptOW-1711628106132)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-VOJVx5iW-1711628106132)]

最后

每年转战互联网行业的人很多,说白了也是冲着高薪去的,不管你是即将步入这个行业还是想转行,学习是必不可少的。作为一个Java开发,学习成了日常生活的一部分,不学习你就会被这个行业淘汰,这也是这个行业残酷的现实。

如果你对Java感兴趣,想要转行改变自己,那就要趁着机遇行动起来。或许,这份限量版的Java零基础宝典能够对你有所帮助。

[外链图片转存中…(img-B4RcX2zV-1711628106132)]文章来源地址https://www.toymoban.com/news/detail-849904.html

到了这里,关于Hibernate的查询方式(大全),springcloud视频的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring、Springboot、SpringCloud--包含的知识点大全

    类型 难度 AOP spring-自定义AOP面向切面注解--统一切面处理-登陆信息采集 快速入门Springboot+AOP实现切面处理请求Demo 线程池 通俗易懂的线程池底层原理,一文知所有 数据结构 数据结构-链表篇 数据结构--数组篇 数据结构之-concurrentHashMap源码分析 JVM JVM调优及各种问题处理 事务

    2024年02月13日
    浏览(40)
  • Spring Data访问Elasticsearch----查询方法,程序员必学

    例子 Elasticsearch查询字符串 And findByNameAndPrice { “query” : {“bool” : {“must” : [{ “query_string” : { “query” : “?”, “fields” : [ “name” ] } },{“query_string” : { “query” : “?”, “fields” : [ “price” ] } }]}}} Or findByNameOrPrice {“query”:{“bool”:{“should”:[{“query_string”

    2024年04月14日
    浏览(64)
  • 程序员如何利用公网远程访问查询本地硬盘【内网穿透】

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 : 《高效编程技巧》《cpolar》 ⛺️生活的理想,就是为了理想的生活! 随着云概念的流行,不少企业采用云存储技术来保存办公文件,同时,很多个人用户也感受到云存储带来的便利,让云存储概念一时间风头无两。由于资料数据的敏感

    2024年02月12日
    浏览(40)
  • Mysql查询语句大全

    2024年02月11日
    浏览(45)
  • MySQL 查询语句大全

    目录 基础查询 直接查询 AS起别名 去重(复)查询 条件查询 算术运算符查询 逻辑运算符查询 正则表达式查询⭐ 模糊查询 范围查询 是否非空判断查询 排序查询  限制查询(分页查询) 随机查询 分组查询 HAVING 高级查询 子查询(嵌套查询) 排号  排名  聚合函数 连接查询

    2024年02月13日
    浏览(33)
  • PostgreSQL 查询语句大全

    🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页 ——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文并茂🦖生动形象🐅简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》 🐾 学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础

    2024年02月10日
    浏览(40)
  • 程序员祝福圣诞快乐的方式(内涵完整代码)

    2022年圣诞节到来啦,很高兴这次我们又能一起度过~ 这次利用前端的一些简单的代码给不会前端的广大男性朋友知道如何哄对象❤️ 圣诞将至,玩计算的大家还在发愁如何实现自己送个心爱的那个女孩什么礼物吗? 先送上一个简单的圣诞树吧! 属于程序员的圣诞树 HTML代码

    2024年02月03日
    浏览(66)
  • 结对编程 --- 大部分程序员喜欢的编程方式

    一、介绍 结对编程起源时间可以追溯到 1990 年代早期。这种编程方法最初由 Jim Highsmith 和 Alistair Cockburn 等人提出。后来,Kent Beck 和 Ward Cunningham 等人将其发展成为一种敏捷开发方法,被称为“极限编程”(Extreme Programming,简称 XP)。结对编程是 XP 中的一种核心实践,也是

    2024年02月06日
    浏览(56)
  • 程序员杂谈:探讨程序员的商业认知—盈利思维方式【文末送书-08】

    程序员的商业认知和盈利思维方式对于成功在科技行业中发展至关重要。以下是一些探讨程序员商业认知和盈利思维方式的关键方面: 理解业务目标: 程序员需要理解公司或项目的业务目标。这有助于他们更好地理解他们的工作如何与公司的整体目标相联系。理解业务目标

    2024年02月04日
    浏览(67)
  • SpringCloud:ElasticSearch之RestClient查询文档

    文档的查询同样适用 RestHighLevelClient 对象,基本步骤包括: 1)准备 Request 对象 2)准备请求参数 3)发起请求 4)解析响应 我们以 match_all 查询为例 1.1.发起查询请求 代码解读: 第一步,创建 SearchRequest 对象,指定索引库名 第二步,利用 request.source() 构建DSL,DSL中可以包含查

    2024年02月03日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包