SSH集成之查询语句输出但没有查到数据

  小编我今天写程序时遇到了个问题,在SSH框架中做查询操作时 hql语句输出来了,但是却没有查到结果,将hql语句放到Oracle数据库中却可以查到数据 废话不多说 下面贴代码

BaseDAO中的方法

protected List<T> findall(final String hql){
  return this.getHibernateTemplate().executeFind(new HibernateCallback(){

@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
try {
//执行查询操作
Query query=session.createQuery(hql);
return query.list();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
return null;
}
}
}); 

  }


}



子DAO的接口实现 中的方法

   @Override
public List<User_hobbys> findall() {
// TODO Auto-generated method stub
System.out.println("User_hobbysDAOImp--------------findall");
String hql="select * from User_hobbys";
List<User_hobbys> list=super.findall(hql);
return list;
}


Server 实现代码

@Override
public List<User_hobbys> findall() {
// TODO Auto-generated method stub
List<User_hobbys> us = new ArrayList<>();
    us=dao.findall();
    System.out.println(us.get(0).getHobbys_name()+"===="+us.get(0).getHobbys_name());
return us;
}


下面是配置文件



<bean id="wdaouhimp" class="com.ydsn.tms.dao.impl.User_hobbysDAOImp" parent="baseDAO">
</bean>
<bean id="wusvimp" class="com.ydsn.tms.service.imp.User_hobbysServerImp" scope="prototype">
<property name="dao" ref="wdaouhimp"></property>
</bean>
<bean id="Usebbyfindall" class="com.ydsn.tms.action.User_hobbys_QueryAction" scope="prototype">
    <property name="us_hobby" ref="wusvimp"></property>
    </bean>





<package name="User_hobbys" namespace="/jcxx" extends="json-default">
<action name="userhobbyfindall" class="Usebbyfindall" method="findhobbys">
<result>/jcxx/userinfomanageui.jsp</result>
</action>
</package>


就是以上这些  搞了半天  就是没有数据出来   小编我时个新手  上网百度 好多人说了 以下几点 
1    hql="select * from User_hobbys"; 语句中写的要是类名  不是表名  

2   在配置 映射时注意  name="hobbys_id" 要和类名一致 

3   数据库中的数据在添加时 需要commit 

  以上几点 我们都仔细的看了看没有问题  ,
  找了半天 最终在hql 语句中发现问题。
   String hql="select * from User_hobbys";
   把上面这句改成了 这样 就可以了
   String hql="from User_hobbys";
   就可以了   虽然改好了小编我也是刚刚入门,也就是学了个皮毛 
   对于为啥 用上面那句就不行。用下面的就可以 表示疑惑 二者有啥区别  ???
  有浏览的大神 可以说说嘛!!! 也可以对我的代码做评价,像编码风格,命名规范上 都   可以 给我指正。希望有回复。谢谢大家了


猜你喜欢

转载自1312291663.iteye.com/blog/2296963
今日推荐