在查询多个表时,而输出的内容又是零散来自于不同的表,用sql语句的情况下还要返回的是一个VO封装的对象。
表:
CREATE TABLE tab1(
id int primary key,
name varchar,
);
CREATE TABLE tab2(
id int primary key,
money BigDecimal,
descri varchar,
);
VO:
public class TestVo{
private String name;
private String descript;
private String money ;
......getter....setter
}
SQL: 别名要对应TestVo的属性名,还要getter,setter方法
SELECT t1.name name, t2.descri descript , t2.money money
FROM tab1 t1 , tab2 t2
WHERE t1.id = t2.id
SQLQuery:
SQLQuery q = this.getSession().createSQLQuery(sql)
.addScalar("name",Hibernate.STRING)
.addScalar("descript",Hibernate.STRING)
.addScalar("money ",Hibernate.BIG_DECIMAL);
List<TestVo> tvs = (List<TestVo>)q
.setResultTransformer(Transformers.aliasToBean(TestVo.class))
.list();
http://android1.blogcn.com/
分享到:
相关推荐
本文将深入探讨Hibernate如何通过SQLQuery接口执行原生SQL查询,并展示如何处理查询结果。 一、创建SQLQuery对象 在Hibernate中,我们通常通过Session接口的createSQLQuery方法来创建SQLQuery对象,例如: ```...
在Java的持久化框架Hibernate中,执行原生SQL(Native SQL)是常见需求,尤其是在处理特定数据库特性或者优化性能时。本篇文章将详细介绍在Hibernate中执行原生SQL的几种方式,以及它们各自的适用场景和优缺点。 1....
这篇博客“mybatis直接执行sql语句后续之一”可能探讨了如何在MyBatis中高效且有效地执行SQL操作。下面我们将深入探讨MyBatis的SQL执行机制及相关知识点。 首先,MyBatis的核心组件是SqlSessionFactory,它是创建...
SQLQuery3.sql
使用 SQLQuery 可以执行 Native SQL 查询,控制查询的执行是通过 SQLQuery 接口进行的,可以使用 addScalar() 方法指定返回值的类型,也可以使用 addEntity() 方法让原生查询返回实体对象,另外还可以使用 addJoin()...
SQLQuery4.sql
SQLQuery1.sql
SQLQuery2.sql
##通过sqlcmd执行sql文件 由于sql文件过大,超过了100M,再数据库的窗口执行,结果超出内存了,对于特别大的sql文件可以使用sqlcmd进行执行 ###1.打开cmd窗口 运行–cmd–进入到sql文件所在的文件夹。 如果是win7可...
本篇文章将深入探讨如何在ThinkPHP中执行原生SQL语句,并对比`query()`和`execute()`这两个方法的使用场景和差异。 首先,执行原生SQL语句的方法通常涉及创建一个模型对象。在ThinkPHP中,你可以通过以下方式实例化...
SQL查询分析器V2简化了这一过程,它允许用户输入SQL语句,然后进行快速执行和结果展示。对于初学者和专业人士来说,这个工具都具有很高的实用价值,因为它能帮助优化查询性能,找出潜在的瓶颈,并提供改进策略。 该...
sqlserver实验五