SSH集成之查询语句输出但没有查到数据
2016-05-09 21:55
323 查看
:wink: :wink: 小编我今天写程序时遇到了个问题,在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";
就可以了 虽然改好了小编我也是刚刚入门,也就是学了个皮毛
对于为啥 用上面那句就不行。用下面的就可以 表示疑惑 二者有啥区别 ???
有浏览的大神 可以说说嘛!!! 也可以对我的代码做评价,像编码风格,命名规范上 都 可以 给我指正。希望有回复。谢谢大家了 :)
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";
就可以了 虽然改好了小编我也是刚刚入门,也就是学了个皮毛
对于为啥 用上面那句就不行。用下面的就可以 表示疑惑 二者有啥区别 ???
有浏览的大神 可以说说嘛!!! 也可以对我的代码做评价,像编码风格,命名规范上 都 可以 给我指正。希望有回复。谢谢大家了 :)
相关文章推荐
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- Oracle sql"NOT IN"语句优化,查询A表有、B表没有的数据
- Oracle sql"NOT IN"语句优化,查询A表有、B表没有的数据
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- excel内一键进行sql查询(使用方法 1.选择’需要进行sql查询区域 包括字段名 2 输入sql语句 3.选择输出数据的单元格)
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- 执行了getHibernateTemplate.save(user)后,控制台有hql语句输出,显示已经将数据存到数据库了,也没有抛出异常,但是去oracle数据库查的时候,压根就没有数据。。。。请问
- 腾讯云图片鉴黄集成到C# SQL Server 怎么在分页获取数据的同时获取到总记录数 sqlserver 操作数据表语句模板 .NET MVC后台发送post请求 百度api查询多个地址的经纬度的问题 try{}里有一个 return 语句,那么紧跟在这个 try 后的 finally {}里的 code 会 不会被执行,什么时候被执行,在 return 前还是后? js获取某个日期
- 使用SSH添加数据时执行了SQL语句数据库却什么都没有?
- 知道SELECT语句怎么把查询到的数据输出到Excel中
- Oracle:sql语句查询没有重复的记录数目
- excel中,SQL查询语句引用数据表的方法
- sql查询统计,根据新闻类别ID统计,没有数据显示0
- Hibernate的hql语句查询不到内容,但是库里有数据,直接执行SQL也能执行,能得到值,返回值取不到
- Informix数据表结构分析资料整理之字段类型说明和查询SQL语句
- 怎么使用robomongo查询mongodb(就像用plsql,输入sql语句,查询oracle数据一样)?
- Mysql联合查询UNION和UNION ALL的使用介绍 可以查询出多张没有关联关系的表的数据
- MySQL使用select语句查询指定表中指定时间内指定列(字段)所在行的数据
- sql语句查询某列数据是否包含中文或英文
- Oracle查询数据总数-根据count(主键),在ssh项目中