使用HIBERNATE的SQL查询并将结果集自动转换成POJO
使用HIBERNATE的SQL查询并将结果集自动转换成POJO
文章分类:Java编程
在某些场合下,我们可能想使用HIBERNATE的框架提供的SQL查询接口,这时,由于表和实体都可能没有做映射,HIBERNATE不能把结果集转换
成你想要的List<POJO>,本文讨论如何在这种情况下让HIBERNATE直接返回你想的结果。下面是简单的查询封装方法
Java代码 < type="application/x-shockwave-flash" width="14" height="15" src="http://lgdlgd.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" src="http://lgdlgd.javaeye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=%0Apublic%20List%3C%3F%20extends%20BaseModel%3E%20findObjectBySql(String%20queryString%2CClass%3C%3F%20extends%20BaseModel%3E%20pojoClass)%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E4%BD%BF%E7%94%A8SQL%E6%9E%84%E9%80%A0%E6%9F%A5%E8%AF%A2%E5%AF%B9%E8%B1%A1%EF%BC%8C%E6%AD%A4SQL%E6%98%AF%E5%8F%AF%E4%BB%A5%E8%A2%ABJDBC%E6%8E%A5%E5%8F%97%E7%9A%84SQL%EF%BC%8C%E5%A6%82SELECT%20*%20from%20XXX_TABLE%0A%09%09Query%20query%20%3D%20this.getSession().createSQLQuery(queryString)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E8%AE%BE%E7%BD%AE%E7%BB%93%E6%9E%9C%E9%9B%86%E8%BD%AC%E6%8D%A2%E5%99%A8%EF%BC%8C%E8%BF%99%E6%98%AF%E6%9C%AC%E6%96%87%E9%87%8D%E7%82%B9%E6%89%80%E5%9C%A8%0A%09%09query.setResultTransformer(new%20EscColumnToBean(pojoClass))%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%E8%BF%94%E5%9B%9E%E6%9F%A5%E8%AF%A2%E7%BB%93%E6%9E%9C%0A%09%09return%20query.list()%3B%0A%0A" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" width="14" height="15">
public
List<? extends
BaseModel> findObjectBySql(String queryString,Class<? extends
BaseModel> pojoClass){
//使用SQL构造查询对象,此SQ
相关文档:
通过分析SQL语句的执行计划优化SQL(总结)
做 DBA快7年了,中间感悟很多。在DBA的日常工作中,调整个别性能较差的SQL语句时一项富有挑战性的工作。其中的关键在于如何得到SQL语句的执行计划和如何从SQL语句的执行计划中发现问题。总是想将日常经验的点点滴滴总结一下,但是直到最近才下定决心,总共花了3个周末时间,才将其 ......
使用过SQL Server 2000的人都知道,要想实现行列转换,必须综合利用聚合函数和动态SQL,具体实现起来需要一定的技巧,而在SQL Server 2005中,使用新引进的关键字PIVOT/UNPIVOT,则可以很容易的实现行列转换的需求。
在本文中我们将通过两个简单的例子详细讲解PIVOT/UNPIVOT的用法。
PIVOT的用法:
首先创建测试表,然 ......
CREATE FUNCTION StringToBarcode
(@Value Varchar(50) )
RETURNS NVarchar(100)
AS
BEGIN
Declare @charCount int
Declare @charPos int, @minCharPos int
declare @currentChar int, @checksum int
Declare @isTableB int,@isValid int
&n ......
转载自:http://www.diybl.com/course/7_databases/sql/sqlServer/2009124/154621_2.html
一个题目涉及到的50个Sql语句
Student(S#,Sname,Sage,Ssex) 学生表
Course(C#,Cname,T#) 课程表
SC(S#,C#,score) 成绩表
Teacher(T#,Tname) 教师表
问题:
1、查询“001”课程比“002”课程成绩高的 ......
部门结构
Id name parentId
-----------------
1 人事部 0
2
开发部 1
3 服务部 1
用户结构
Id name departId
--------------------
101
张三 2
102 李四 2
103 王五 3
想得到
ID name
parentId
-------------------
1 人事部 0
2 开发部 1
101
张 ......