博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernate里使用JDBC查询示例代码
阅读量:6815 次
发布时间:2019-06-26

本文共 2159 字,大约阅读时间需要 7 分钟。

hot3.png

在使用hibernate的时候,有的时候需要用sql语句来执行,而HibernateDaoSupport方便了操作后,执行sql时候遇到不能执行的问题,   

下列方法是一个内部类来执行sql,可以写一个通用方法来执行sql,通常如果没有必要尽量不使用sql,但是有的时候就必须使用了,就想下列的查询分组查询,不想在hibernate中使用一对多关系,而又必须使用group by 哪么只能使用下列方式

import org.hibernate.HibernateException;      import org.hibernate.Session;      import org.springframework.orm.hibernate3.HibernateCallback;      import java.sql.SQLException;      import java.sql.Connection;      import java.sql.PreparedStatement;      import java.sql.ResultSet;           public List
getKnowledgeQueryInfo() { List
ListAll = new ArrayList
(); final String sql = "SELECT ky.KNOWLEDGEQUERYID,ky.TITILE,ky.CREATEDATE,eu.USERNAME ,ky.USERID,COUNT(kyr.KNOWLEDGEQUERYID) AS COUNT"+ " FROM KNOWLEDGEQUERY ky LEFT JOIN KNOWLEDGEQUERYANSWER kyr ON ky.KNOWLEDGEQUERYID = kyr.KNOWLEDGEQUERYID" + " LEFT JOIN EOM_USER eu ON ky.USERID = eu.USER_ID"+ " GROUP BY ky.KNOWLEDGEQUERYID,ky.TITILE,ky.CREATEDATE,eu.USERNAME,ky.USERID ORDER BY ky.CREATEDATE DESC"; ListAll = (List
)this.getHibernateTemplate().execute( new HibernateCallback(){ public Object doInHibernate(Session session) throws HibernateException, SQLException { Connection con = session.connection(); PreparedStatement ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); List
all = new ArrayList
(); while(rs.next()){ KnowledgeQueryBean kqb = new KnowledgeQueryBean(); kqb.setKnowledgeQueryId( rs.getLong("KNOWLEDGEQUERYID")); kqb.setTitle(rs.getString("TITILE")); kqb.setCreateDate(rs.getDate("CREATEDATE")); kqb.setContent(rs.getString("USERNAME")); kqb.setUserId(rs.getLong("USERID")); kqb.setCount(rs.getInt("COUNT")); all.add(kqb); } rs.close(); ps.close(); session.flush(); session.close(); return all; } } ); return ListAll; }

转载于:https://my.oschina.net/arlenmiao/blog/157987

你可能感兴趣的文章
CentOS 6.9永久设置静态路由表以及路由表常用设置
查看>>
解决Docker时区与主机时区不一致的问题
查看>>
思考与知识
查看>>
访问日志不记录静态文件 访问日志切割 静态元素过期时间
查看>>
idea中复制module和module中的蓝色tag出现的方法
查看>>
python中的面相对象
查看>>
Spring缓存注解@Cache使用
查看>>
去除wordpress的category各方法对比
查看>>
traceroute
查看>>
精通汇编语言,有兴趣一起搞破解的请进!
查看>>
C#缺省参数可以让代码变得更加简洁明了与时俱进心里敞亮了很多了
查看>>
【自然框架】js版的QuickPager分页控件 V2.0
查看>>
poj-2049 Finding Nemo *
查看>>
模块化编程本质探讨
查看>>
利用博客与视频分享和交流知识和经验
查看>>
js操作dom对象
查看>>
Windows2003服务器安全配置:先关闭不需要的端口(转自)
查看>>
HDU1247 Hat’s Words 【trie树】
查看>>
iOS开发--动画篇之layout动画深入
查看>>
WorldWind源码剖析系列:视景体类Frustum
查看>>