1.常用情形:
xml 代码
- <sql-query name="articlesql">
- <return alias="articleList" class="cn.com.dreamtech.news.domain.JsAcArticle"/>
- select article.js_ac_art_id,article.js_ac_art_title from Js_Ac_Article as article left join Js_Ac_Catalog catalog on article.js_Ac_art_Catalog=catalog.js_Ac_Catalog_Id
- sql-query>
java 代码
- List list = session.getNamedQuery("articlesql").setString("articleId", "4028829316ccff530116ccffe53e0001").list();
- JsAcArticle article = (JsAcArticle)list.get(0);
- System.out.println(article.getJsAcArtTitle());
2.多表联合查询:
xml 代码
- <sql-query name="articlesql">
- <return-scalar type="java.lang.String" column="js_ac_art_id"/>
- <return-scalar type="java.lang.String" column="js_ac_catalog_title"/>
- <!---->
- select article.js_ac_art_id,catalog.js_ac_catalog_title from Js_Ac_Article as article left join Js_Ac_Catalog catalog on article.js_Ac_art_Catalog=catalog.js_Ac_Catalog_Id
- ]]>
- sql-query>
java 代码
- HibernateUtil.beginTransaction();
- Session session = HibernateUtil.currentSession();
- List list = session.getNamedQuery("articlesql").list();
- Object[] article = (Object[])list.get(0);
- System.out.println(article[0]);
3.自行添加类和hbm配置文件(解决第二种返回类型是object[]的问题,可以直接返回实例了)
java 代码
- package cn.com.dreamtech.news.domain;
-
- public class ArcCat {
- private String jsAcArtId;
- private String jsAcCatalogTitle;
- public String getJsAcArtId() {
- return jsAcArtId;
- }
- public void setJsAcArtId(String jsAcArtId) {
- this.jsAcArtId = jsAcArtId;
- }
- public String getJsAcCatalogTitle() {
- return jsAcCatalogTitle;
- }
- public void setJsAcCatalogTitle(String jsAcCatalogTitle) {
- this.jsAcCatalogTitle = jsAcCatalogTitle;
- }
-
- }
这个类是来自多个表的字段的属性
xml 代码
- <!---->xml version="1.0"?>
- <!---->
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <class name="cn.com.dreamtech.news.domain.ArcCat">
- <id name="jsAcArtId" column="JS_AC_ART_ID"/>
- <property name="jsAcCatalogTitle" column="JS_AC_CATALOG_TITLE"/>
- class>
- <sql-query name="articlesss">
- <return alias="articleList" class="cn.com.dreamtech.news.domain.ArcCat"/>
- <!---->
- select article.js_ac_art_id,catalog.js_ac_catalog_title from Js_Ac_Article as article left join Js_Ac_Catalog catalog on article.js_Ac_art_Catalog=catalog.js_Ac_Catalog_Id
- ]]>
- sql-query>
- hibernate-mapping>
java 代码
- HibernateUtil.beginTransaction();
- Session session = HibernateUtil.currentSession();
- List list = session.getNamedQuery("articlesss").list();
- ArcCat article = (ArcCat)list.get(0);
- System.out.println(article.getJsAcArtId());
分享到:
相关推荐
对于同一个查询的命名sql,列或者表名都是动态的,如有些时候命名sql为select custID,custName from cust,有些时候是select custID from cust,这时候列名是变量。EOS中默认是不支持的,会报列错误。 解决方案...
Hibernate是一个流行的Java持久化框架,它允许开发者在对象关系映射(ORM)层上操作数据库。...通过使用别名、结果集映射和命名SQL查询,开发者可以处理复杂的数据库交互,同时保持代码的清晰和整洁。
总结来说,Hibernate的SQLQuery接口提供了丰富的功能,支持本地SQL查询,处理字段冲突,加载关联对象,返回标量值或混合结果,以及利用结果集映射和命名SQL查询来提高代码的可读性和复用性。在实际开发中,灵活运用...
SQL Server 数据库命名规范 SQL Server 数据库命名规范旨在提高数据库的可读性和易维护性,统一各个开发人员的数据库编码风格。为了便于与 C# 代码进行对接,制定了本规范。 数据库命名 数据库命名规则旨在提供一...
这些示例可能涵盖了如何设置动态SQL查询,以及如何在Kettle中使用问号占位符和命名参数的具体步骤。 总的来说,掌握Kettle中的动态SQL查询技术对于提高数据处理的灵活性和效率至关重要。问号占位符和命名参数都是...
Hibernate 的 createSQLQuery 的几种用法 Hibernate 的 ...这个查询使用了命名 SQL 查询 persons,並将结果集限制在 50 条记录内。 createSQLQuery 方法提供了多种灵活的查询方式,能够满足不同的查询需求。
本实验“Hibernate试验”主要关注的是通过Hibernate使用SQL查询,包括本地SQL检索、命名SQL查询以及自定义SQL语句,同时也涉及到QBC(Query By Criteria)查询方式,这是一种基于对象的查询方式,与HQL(Hibernate ...
### SQL Server 命名规范详解 在数据库设计与开发过程中,遵循一套统一且合理的命名规范至关重要。良好的命名规范不仅能提升代码的可读性、可维护性,还能增强团队协作效率,减少潜在的错误和冲突。以下是针对SQL ...
在Eos命名Sql调用中,开发者可以利用各种方法来高效地执行SQL操作,避免重复工作和不规范的代码。以下是对PDF文档中提到的知识点的详细解释: 1. **HashMap作为参数** - `parameterClass="java.util.HashMap"`:在...
《Microsoft SQL Server 2008技术内幕:T-SQL查询》全面深入地介绍了Microsoft SQL Server 2008中高级T-SQL查询、性能优化等方面的内容,以及SQL Server 2008新增加的一些特性。主要内容包括SQL的基础理论、查询优化...
SQL语句查询分析器是一种工具,它用于帮助程序员和数据库管理员优化和理解SQL查询的执行过程。在数据库管理系统中,SQL(结构化查询语言)是用于处理数据的标准语言,包括查询、更新、插入和删除记录。一个强大的SQL...
当我们需要处理Excel数据时,可以借助SQL查询方法来实现高效的操作。本篇将详细讲解如何在C#中利用SQL数据库查询技术来操作Excel表格。 首先,理解基本概念。Excel是一个电子表格软件,而SQL(Structured Query ...
### SQL查询语句详解 #### 一、概述 SQL(Structured Query Language)是一种用于管理和操作关系型数据库的标准语言。本文档旨在提供一个详尽且易于理解的SQL查询语句教程,帮助初学者快速掌握基本的SQL操作技巧。...
### SQL数据库默认实例与命名实例的区别 在SQL Server中,实例是服务器上SQL Server服务的具体实现。当安装SQL Server时,可以选择安装默认实例或者命名实例。这两种实例类型各有其特点和适用场景,本文将深入探讨...
### SQL查询语句大全集锦(超经典) #### 一、简单查询 ##### (一)选择列表 在SQL中,选择列表(`SELECT`列表)是用于指定希望从数据库表中检索哪些列的重要组成部分。这一部分可以包含列名、表达式、常量或者函数...
在SQL Server中,查询语句是否可以使用变量来表示表名是一个常见的疑问,尤其是在编写动态SQL时。在SQL Server中,确实可以通过变量来构建动态的表名,但这需要借助存储过程或者动态SQL来实现。这是因为SQL语句在...
在Spring 2.0及更高版本中,HibernateTemplate不仅支持基本的CRUD(创建、读取、更新、删除)操作,还增加了对命名SQL查询和分页的支持。 **一、HibernateTemplate的常规用法** 1. **删除操作** - `void delete...
Sql Server参数化查询之where in和like实现详解 在Sql Server中,参数化查询是提高查询性能和防止SQL注入攻击的有效方法之一。其中,where in和like是两个常用的查询条件,然而它们的参数化实现却不是那么简单。...
### C#下的SQL Server命名规范 在开发过程中,遵循一致且明确的命名规范对于提高代码可读性、减少错误以及方便后期维护具有重要意义。本文将详细介绍C#与SQL Server交互时,应遵循的一系列命名规范。 #### 表命名...