Hibernate执行自定义sql 返回一个list展示在页面

1.底层代码:

	/**
	     * 根据条件参数列表,执行sql查询。
	     * 
	     * @param sql sql查询语句
	     * @param params 参数列表    即占把你hql语句的那个占位符号:userid用你自己的参数userid来代替。搜索hql="from User as u where u.userid=:userid";
	     * @return 检索结果列表
	     */
	    @SuppressWarnings("unchecked")
	    //public List<?> execSQLQuery(final String sql, final List<Object> params)
	    public List<?> execSQLQuery(final String sql)
	    {
	        return (List<?>) this.getHibernateTemplate().execute(
	                new HibernateCallback()
	                {
	                    public Object doInHibernate(final Session session)
	                            throws HibernateException, SQLException
	                    {
	                        final SQLQuery query = session.createSQLQuery(sql);

//	                        if (params != null)
//	                        {
//	                            for (int i = 0; i < params.size(); i++)
//	                            {
//	                                query.setParameter(i, params.get(i));
//	                            }
//	                        }
	                        return query.list();
	                    }
	                });
	    }  


2.action类代码:

     String sql = "select * from userinfo";
     List<?> list1 = this.UserService.execSQLQuery(sql);
     Map request = (Map) ActionContext.getContext().get("request");
     request.put("list",list1);

3.前台展示代码:

<s:iterator value="#request.list" id="str" >    
<s:property value="#str[0]"/>
<s:property value="#str[1]"/>
</s:iterator>



 

 

 

 

 

 

 

 

 

 

 

 


版权声明:本文为ahhmdwg原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。