Hibernate查询

【OpenCV】手眼标定实战:从原理到calibrateHandEye的完整实现 本文详细解析了机器人视觉中的手眼标定原理与实战,重点介绍了如何使用OpenCV的calibrateHandEye函数实现从数据采集到结果验证的完整流程。文章深入剖析了AX=XB核心方程,区分了眼在手上与眼在手外两种配置,并提供了详细的代码示例与避坑指南,帮助开发者精准建立相机与机械臂末端的坐标转换关系,是机器人精准抓取的关键技术。 阅读详情

Hibernate查询中分为3种查询:注意:HQL语言,是基于对象进行查询的,不是基于数据库的表。

                 1)HQL :session.createQuery("")

                 2)QBC:session.createCriteria()  ---标准查询

                 3)原生态SQL:session.createSQLQuery()


      我们需要讲的是HQL(Hibernate Query Language),因为它对于现在来说是常用的,原生态查询的话已经不怎么用了,标准查询一般也用得少吧,也没有什么需要讲的。


三、各种查询示例代码:

1、搭建测试的配置环境(创建实体类)

        数据库表:

           



         实体类

            package com.entity;
            public class Person {


     private int pid;
     private String pname;
     private int page;
     public Person() {
  super();
       }
     public Person(String pname, int page) {
 super();
 this.pname = pname;
 this.page = page;
        }
    public int getPid() {
return pid;
        }
    public void setPid(int pid) {
this.pid = pid;
        }
    public String getPname() {
return pname;
        }
    public void setPname(String pname) {
this.pname = pname;
         }
    public int getPage() {
return page;
       }
   public void setPage(int page) {
this.page = page;
     }

      }


 

2、配置映射文件

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2017-11-6 16:38:16 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
    <class name="com.entity.Person" table="PERSON">
        <id name="pid" type="int">
            <column name="PID" />
            <generator class="native" />
        </id>
        <property name="pname" type="java.lang.String">
            <column name="PNAME" />
        </property>
        <property name="page" type="int">
            <column name="PAGE" />
        </property>
    </class>
</hibernate-mapping>


3、在hibernate配置文件中加载映射文件

<mapping resource="com/entity/Person.hbm.xml"></mapping>


4、在测试类中进行查询

package com.test;


import java.util.List;


import org.apache.log4j.Logger;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;


import com.entity.Person;


public class TestHQL {

private SessionFactory sessionFactory;
private Session session;
private Transaction transaction;

@Before
public void before(){
//加载配置文件
Configuration configuration=new Configuration().configure();
sessionFactory = configuration.buildSessionFactory();
session = sessionFactory.openSession();
transaction = session.beginTransaction();

}


@After
public void after(){
//提交事物
transaction.commit();
session.clear();
sessionFactory.close();
}
private static final Logger log=Logger.getLogger(TestHQL.class);


//查询
@Test
public void testhql(){

//查询所有
// List<Person> person=session.createQuery("from Person").list();   //这里是查询实体类的名字,HQL查询都是对实体类进行查询,需要查询的条件也是实体类命名的属性


// for (Person person2 : person) {
// log.info(person2.getPname()+"   "+person2.getPage());
// }


//查询一个列
// List<String> li=session.createQuery("select pname from Person").list();
// for (String string : li) {
// //log.info(string);
// System.out.println(string);
// }


//查询某几列    查询结果来源于多张表
// List<Object[]> many=session.createQuery("select pname,page from Person").list();
// for (Object[] objects : many) {
// String pname=objects[0].toString();
// int page=Integer.parseInt(objects[1].toString());
// log.info(pname+"   "+page);
// }

//查询构造方法
// List<Person> per=session.createQuery("select new Person(pname,page) from Person").list();
// for (Person person : per) {
// log.info(person.getPname()+"   "+person.getPage());
// }


// List<Person> getall=session.createCriteria(Person.class).list();
// for (Person person : getall) {
// log.info(person.getPname()+"   "+person.getPage());
// }

}

//通过条件查询
@Test
public void testHQL(){

//查询15-20岁之间
//     List<Person> getage=session.createQuery("from Person where page between 15 and 20").list();
// for (Person person : getage) {
// System.out.println(person);
// }

//   List<Person> getage=session.createQuery("from Person where page between ? and ?").setInteger(0, 15).setInteger(1, 20).list();
// for (Person person : getage) {
// log.info(person.getPname());
// }

// List<Person> getage=session.createQuery("from Person where page between :min and :max").setInteger("min", 15).setInteger("max", 30).list();
// for (Person person : getage) {
// log.info(person.getPname());
// }


//聚合函数查询
// int page=Integer.parseInt(session.createQuery("select max(page) from Person ").uniqueResult().toString());
// log.info(page);
//

// int page=Integer.parseInt(session.createQuery("select sum(page) from Person ").uniqueResult().toString());
//    log.info(page);
//


   //分页
// int currentpage=1;
// int pagesum=2;
// List<Person> persons=session.createQuery("from Person").setFirstResult((currentpage-1)*pagesum).setMaxResults(pagesum).list();
// for (Person person : persons) {
// log.info(person.getPname()+"  "+person.getPage());
// }



//根据年龄排序
List<Person> get=session.createQuery("from Person order by page desc").list();
for (Person person : get) {
log.info(person.getPname());
}

}


}


通信原理与MATLAB(八):2PSK的调制解调 通信原理和MATLAB 阅读详情

相关推荐

lumerical中DEVICE和MODE模块的交互使用(真的很干货!!可以自信的说网上绝对找不到比我更详细的步骤了)

几个脚本文件很重要! Lumerical仿真流程: 一、DEVICE: (1).建模并且运行完之后,在脚本提示符下键入以下脚本行以运行plotDopingProfile.lsf如图1(文件名如果索引不到的话就可以把文件直接用notepad++打开,然后把代码直接输入到device中script脚本中 如图2)脚本文件并生成下图 如图3: (图2) (图1) (图3) (2).仿真...

1万+

Hibernate第十篇【Hibernate查询详解、分页查询】

前言在Hibernate的第二篇中只是简单地说了Hibernate的几种查询方式….到目前为止,我们都是使用一些简单的主键查询阿…使用HQL查询所有的数据….本博文主要讲解Hibernate的查询操作…get/load主键查询由于主键查询这个方法用得比较多,于是Hibernate专门为我们封装了起来… get()立即查询 load()懒加载 对象导航查询如果对象与对象之前存在一对多、多对一的关系的时

zhong_fucheng 2万+

保姆级教程:用SSC Tool 5.13为先楫HPM6E00EVK生成8轴EtherCAT从站代码(含XML配置详解)

本文详细介绍了如何使用SSC Tool 5.13为先楫HPM6E00EVK开发板配置8轴EtherCAT从站,包括XML文件深度配置、代码生成与工程整合、烧录与调试技巧。教程涵盖从环境准备到性能优化的全流程,帮助开发者快速实现符合CIA402标准的8轴控制。

weixin_30352645的博客 255

Hibernate条件查询

一、简介Hibernate查询可以使用HQL  NativeQuery,都要求对底层SQL语言数量掌握。对于比较复杂的SQL条件查询,如果程序员对SQL掌握不好,写起来会有一定困难。Criteria 是一个完全面向对象,可扩展的条件查询API,通过它完全不需要考虑数据库底层如何实现、SQL语句如何编写,是HQL Native Query的替代。Criteria 查询采用面向对象方式封装查询条件,对

westos_linux的博客 2965

数据库:关系运算整理大全(包括关系代数、元组关系演算、域关系演算)

数据库关系运算: 1. 关系代数(基本关系代数、附加关系代数、扩展关系代数) 2. 元组关系演算 3. 域关系演算

ysji's blog 1万+

从入门到精通:dirmap 高级 Web 目录扫描实战指南

本文提供了一份从环境搭建到高级配置的dirmap Web目录扫描实战指南。详细解析了工具安装、核心配置文件dirmap.conf的深度调优,包括递归扫描、四种扫描模式(字典、爆破、爬虫、Fuzz)的实战应用,并演示了分阶段资产发现的完整工作流程,帮助安全人员高效发现隐藏目录与敏感文件。

rnn9storyteller的博客 481

hibernate里面用in查询

hibernate中各种类型的查询条件拼接: 一、正常的传参查询(精确查询) String shopAttendanceCode = queryHash.get("shopAttendanceCode"); if (!StringUtils.isEmpty(shopAttendanceCode)) { conditionHash.put("shopAtt...

a545132569的博客 5478

保姆级教程:用CameraX API快速搞定Android多摄像头切换与预览(附避坑指南)

本文提供了一份详细的CameraX API教程,帮助开发者快速实现Android多摄像头切换与预览功能。通过简化API设计和生命周期感知能力,CameraX大幅降低了开发复杂度,同时解决了多摄像头兼容性、预览优化等常见问题。文章包含完整代码示例和实战避坑指南,特别适合需要高效集成相机功能的Android开发者。

weixin_42699679的博客 166

Hibernate连接查询

关键字: hibernate 谈一下hibernate的连接查询 一、连接查询的基础知识连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用

meyang的专栏 1万+

三甲医院网络架构与安全建设实战

华为OceanStor] [华为OceanStor][PACS存储双活] [HIS数据库同步]患者隐私 数据脱敏 天清Web防火墙动态脱敏策略。主数据中心 --[OTV专线]-- 备数据中心。实现医疗业务网/卫生专网/互联网三网隔离。核心业务配置(华为CE6865)自动备份配置(每天02:00)安全事件响应(30分钟SLA)漏洞扫描(每周日00:00)实现医疗物联网统一接入管控。五、等保2.0合规关键配置。堡垒机登录(双因素认证)四、医疗物联网安全方案。

有小小的远大抱负 1911

华为OD机试 - 单词倒序(Python/JS/C/C++ 2025 A卷 100分)

华为OD机试 2025A卷题库疯狂收录中,刷题。

学Java,找哪吒 1226

hibernate各种简单查询和复杂查询

// 简单查询 @Test public void easyQuery() { Session session = HibernateUtil.getSession(); Query query = session.createQuery("from Person"); List&lt;Person&gt; personList = query.list(); Person p...

weixin_41692832的博客 2698

vue2/3 - 详细实现高德地图轨迹回放,vue高德地图车辆历史行驶轨迹播放,在地图上绘制行程轨迹|起点和终端的路程绘制|用户运动轨迹绘制及播放等(支持开始/暂停、进度条拖放、控制播放轨迹的倍速等)

vue2,vue3,nuxt,高德地图,轨迹,vue高德地图轨迹回放,历史轨迹回放,轨迹回放功能支持倍速及进度条拖拽,VUE高德地图轨迹回放、倍速调整、进度条拖拽,vue3高德地图轨迹回放,Vue实现地图路径回放,vue中使用高德地图实现历史轨迹回放并能控制播放轨迹的倍速,多条轨迹陆续播放,巡航轨迹做带进度条和倍速的轨迹回放,Vue高德地图路径回放,历史轨迹回放并能控制播放轨迹的倍速,使用高德地图实现轨迹播放和进度条控制,vue高德地图如何实现轨迹回放,高德地图做轨迹绘制用什么api,高德轨迹API,驾车轨

✅ 精选推荐文章 1万+

hibernate查询竟然有6种方法

hibernate查询竟然有6种方法,用了hibernate好久了,偶然才发现hibernate有那么多种查询方式 以前 也系统化的学过hibernate 但是仅仅 只是记得hibernate的sql 和 hql 最基本的两种查询 默默的心凉了好久,看来以前也是没有真正的理解 为了不断的增加自己的知识,我也需要不断的发现和探索,并不断的发一些文章,记录自己的进步 先把这次的6个方法都列出来

活着 就好好的活着 1万+

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Hibernate查询方式

Hibernate查询方式 Hibernate查询方式 1 对象导航查询 (1)根据id查询某个客户,再查询这个客户里面所有的联系人 2 OID查询 (1)根据id查询某一条记录,返回对象 3 HQL查询 (1)Query对象,写hql语句实现查询 4 QBC查询 (1)Criteria对象 5 本地sql查询 (1)SQLQuery对象,使用普通sql实现查询 ...

qq_44921837的博客 646

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Hibernate各种查询方式及查询策略

在了解Hibernate的基本知识后,重点让我们看下相关查询方式和查询优化策略吧! 话不多说,先来张思维导图看下: 1.一对多情况*以实例呈现:如下:1. JavaWEB中一对多的设计及其建表原则2. 先导入SQL的建表语句* 创建今天的数据库:create database hibernate_day03; * 在资料中找到客户和联系人的SQL脚本 3. 编写客户和联系人的JavaBean程

Cecilia 3731

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Hibernate之HQL查询

一、Hibernate 提供了以下几种检索对象的方式: 导航对象图检索方式: 根据已经加载的对象导航到其他对象 OID 检索方式: 按照对象的 OID 来检索对象 HQL 检索方式:使用面向对象的 HQL 查询语言 QBC 检索方式: 使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.

无羁之风的专栏 3560

hibernate sql查询

如果你跟我一样比较熟悉SQL,同时不想学习一门新的语言。那么在hibernate中使用Native SQL 查询也是一种不错的方式。 一方面,Native SQL在效率方面有天生的优势; 另一方面,SQL是数据库操作的一种标准,我们与程序、数据库关联很小。如果将来不用hibernate,而是用别的ORM,sql一样好用。 但尽量用标准SQL,而不要用过多方言SQL。 标量查询 ...

194

java之hibernate之hibernate查询

这篇主要简单间接 hibernate查询 1.数据库操作中最重要的是查询,Hibernate提供了多种查询方式来帮助程序员快速实现查询功能。 有hql,本地sql查询,Criteria查询,example, oid等。 2.Hql 查询:Hql :hibernate query language,Hiberante查询语言。这是一种面向对象的查询语言,和 sql 语句非常相似,对于...

weixin_30768661的博客 269

hibernate查询的几种方式

使用这种方式不需要写明映射的类型,Hibernate会通过配置自动给我们转,但是由于Hibernate有两种日期格式:Date和TIMESTAMP,所以对于日期类型必须写明映射的类型。//登录(用":命名"占位符,用setProperties设值,命名参数必须要与被绑定的属性名相同)1) setFirstResult(int):指定从哪一个对象开始查询,参数是索引位置,从0开始。//登录(用":命名"占位符,用setParameter设值)1、 第一种,用?//登录(用":命名"占位符)......

安卓世界库 1459

扩展hibernate的查询

包名:hibernate-conditions.jar主要是扩展了hibernate的查询功能,该功能依赖于hibernate及hibernate相关包.主要扩展了将一个变量注释成一个查询条件的功能,把整个对象当成一个未知的查询条件,交给解析器去解析.核心是几个注释的使用.下面解释这几个注释. 1. AsCondition 把一个变量注释成一个条件,该注释有两个最主要的字段,pro

cjs_jackson的专栏 638

Hibernate HQL查询 查询某几列

Hibernate使用Query对象进行查询。Session的createQuery()方法能够创建Query实例,参数为HQL。Query对象能够返回各种类型的查询结果, 例如long、String、List<实体类>、List、POJO等。最常用的查询方法有uniqueResult()与list()等。其中uniqueResult()返回单个值,而list()返回零个或者多个值。1.直接从实体对

gongzhufanlulu的博客 5013

hibernate查询部分字段

Vo,hibernate部分查询

Mr.3 2806

hibernate查询之执行查询

hibernate查询之执行查询

fhd001的专栏 2625

Hibernate查询操作

操作前需要创建好Hibernate项目,创建项目,可参考:http://www.cnblogs.com/zhaojinyan/p/9336174.html 一下的例子是从其他贴子粘过来的(知识无国界!!),好了,抖擞抖擞精神,开始吧...... 测试数据库如下 t_sort表: t_good表: 一...

aisi5656的博客 278
上一篇: Hibernate 使用过程中(尤其是多对多关联中的级联保存和级联删除)的注意事项
下一篇: Spring中的IOC
csdn_phy
博客等级 码龄9年 15粉丝 46原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值