public List search(final PetInfo condition, final String orderBy) {
return super.getHibernateTemplate().executeFind(
new HibernateCallback() { public Object doInHibernate(Session s)
throws HibernateException, SQLException { Criteria c = s.createCriteria(PetInfo.class);
if (condition != null) {
if (condition.getPetOwnerName() != null
&& !"".equals(condition.getPetOwnerName()
.trim())) {
c.add(Restrictions.like("petOwnerName",
condition.getPetOwnerName(),
MatchMode.ANYWHERE));
}
if (condition.getPetType() != null
&& Integer.parseInt(condition.getPetType()
.toString()) > 0) {
c.add(Restrictions.eq("petType", condition
.getPetType()));
}
}
String order = orderBy;
order = (null == orderBy || orderBy.trim().equals("")) ? "petName"
: orderBy;
c.addOrder(Order.asc(order));
List ret = c.list();
return ret;
} });
}
java.lang.NullPointerException
at com.aptech.jb.epet.dao.hibimpl.PetInfoDaoHibImpl.search(PetInfoDaoHibImpl.java:84)
at com.aptech.jb.epet.struts.action.PetAction.doList(PetAction.java:299)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.aptech.jb.epet.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
用hibernateCallBack的时候报空指针异常
return super.getHibernateTemplate().executeFind(
new HibernateCallback() {
这句报错
return super.getHibernateTemplate().executeFind(
new HibernateCallback() { public Object doInHibernate(Session s)
throws HibernateException, SQLException { Criteria c = s.createCriteria(PetInfo.class);
if (condition != null) {
if (condition.getPetOwnerName() != null
&& !"".equals(condition.getPetOwnerName()
.trim())) {
c.add(Restrictions.like("petOwnerName",
condition.getPetOwnerName(),
MatchMode.ANYWHERE));
}
if (condition.getPetType() != null
&& Integer.parseInt(condition.getPetType()
.toString()) > 0) {
c.add(Restrictions.eq("petType", condition
.getPetType()));
}
}
String order = orderBy;
order = (null == orderBy || orderBy.trim().equals("")) ? "petName"
: orderBy;
c.addOrder(Order.asc(order));
List ret = c.list();
return ret;
} });
}
java.lang.NullPointerException
at com.aptech.jb.epet.dao.hibimpl.PetInfoDaoHibImpl.search(PetInfoDaoHibImpl.java:84)
at com.aptech.jb.epet.struts.action.PetAction.doList(PetAction.java:299)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.aptech.jb.epet.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:30)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:619)
用hibernateCallBack的时候报空指针异常
return super.getHibernateTemplate().executeFind(
new HibernateCallback() {
这句报错
解决方案 »
- 帮帮看我的表建的有问题吗
- TCP/IP
- feed.setEntries(itemList)的所有数据相同
- 乱码,很奇怪的乱码,存入mysql数据库出现乱码!!!
- 各位高手,我想做个小程序,有感兴趣的吗?
- jsp传值给servlet问题求解??????????????????????????????????????????????
- Javascript 代码混淆综合解决方案 - Javascript 在线混淆器
- 拿什么来找工作。
- 哪里有免费weblogic8.1下载?
- jdk1.7环境下开发的SSH项目部署到jdk1.6环境下
- wsdd怎么配置?怎么自己手动写?有详细介绍参数的吗?
- 看完Head.First.Servlets.and.JSP之后。。。关于学struts的问题
public List selectList(final int startPage, final int endPage) {
List list = new ArrayList();
final String hql = "from Item order by id desc";
list = this.getHibernateTemplate().executeFind(new HibernateCallback() { public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);//创建SESSION
query.setFirstResult(startPage);//分页设置
query.setMaxResults(endPage);
List list = query.list();获取结果结晶
return list;//返回值
} });
return list;
}
唯独在执行我上面所说的方法的时候getHibernateTemplate()为空
我不太明白你什么意思
我把我的代码贴一下吧
package com.aptech.jb.epet.dao.hibimpl;import java.sql.SQLException;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import com.aptech.jb.epet.dao.PetInfoDao;
import com.aptech.jb.epet.entity.PetInfo;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;public class PetInfoDaoHibImpl extends HibernateDaoSupport implements
PetInfoDao {
//
// private PetInfoDao petInfoDao = null;
//
// public void setPetInfoDao(PetInfoDao petInfoDao) {
// this.petInfoDao = petInfoDao;
// } public void doTraining(Integer petId, String Training) {
PetInfo petInfo = this.get(petId);
if (Training.equals("doFeed")) {
petInfo.setPetStrength(new Integer(Integer.parseInt(petInfo
.getPetStrength().toString()) + 30));
} else if (Training.equals("doStroy")) {
petInfo.setPetCute(new Integer(Integer.parseInt(petInfo
.getPetCute().toString()) + 1));
petInfo.setPetLove(new Integer(Integer.parseInt(petInfo
.getPetLove().toString()) + 3));
petInfo.setPetStrength(new Integer(Integer.parseInt(petInfo
.getPetStrength().toString()) - 5));
} else if (Training.equals("doGame")) {
petInfo.setPetCute(new Integer(Integer.parseInt(petInfo
.getPetCute().toString()) + 3));
petInfo.setPetLove(new Integer(Integer.parseInt(petInfo
.getPetLove().toString()) + 1));
petInfo.setPetStrength(new Integer(Integer.parseInt(petInfo
.getPetStrength().toString()) - 5));
}
super.getHibernateTemplate().update(petInfo);
} /**
* 增加宠物信息
*/
public void insertPetInfo(PetInfo petInfo) {
super.getHibernateTemplate().save(petInfo);
} /**
* 查询一条宠物信息
*/
public PetInfo get(Integer id) {
// return (PetInfo) super.get(PetInfo.class, id);
return (PetInfo) super.getHibernateTemplate().get(PetInfo.class, id);
} public List selectAll() {
return null;
} /**
* 更新一条宠物信息
*/
public void update(PetInfo petInfo) {
super.getHibernateTemplate().update(petInfo); } public PetInfo userValidate(String petId, String petPassword) {
// TODO 自动生成方法存根
return null;
} public List search(final PetInfo condition, final String orderBy) { HibernateTemplate ht = super.getHibernateTemplate();
return super.getHibernateTemplate().executeFind(
new HibernateCallback() { public Object doInHibernate(Session s)
throws HibernateException, SQLException { Criteria c = s.createCriteria(PetInfo.class);
if (condition != null) {
if (condition.getPetOwnerName() != null
&& !"".equals(condition.getPetOwnerName()
.trim())) {
c.add(Restrictions.like("petOwnerName",
condition.getPetOwnerName(),
MatchMode.ANYWHERE));
}
if (condition.getPetType() != null
&& Integer.parseInt(condition.getPetType()
.toString()) > 0) {
c.add(Restrictions.eq("petType", condition
.getPetType()));
}
}
String order = orderBy;
order = (null == orderBy || orderBy.trim().equals("")) ? "petName"
: orderBy;
c.addOrder(Order.asc(order));
List ret = c.list();
return ret;
} });
}
}执行其它的方法没有任何问题 唯独在执行最后一个search方法的时候。super.getHibernateTemplate()为空。另外问一下 是不是要配合事务来执行?
session 是否为空??我刚解决了,就是session的问题