package org.yidong.vo;/**
* Mupdata entity.
*
* @author MyEclipse Persistence Tools
*/public class Mupdata implements java.io.Serializable { // Fields private Integer mupid;
private Marker er;
private String updata; // Constructors /** default constructor */
public Mupdata() {
} /** full constructor */
public Mupdata(Marker er, String updata) {
this.er = er;
this.updata = updata;
} // Property accessors public Integer getMupid() {
return this.mupid;
} public void setMupid(Integer mupid) {
this.mupid = mupid;
} public Marker getMarker() {
return this.er;
} public void setMarker(Marker er) {
this.er = er;
} public String getUpdata() {
return this.updata;
} public void setUpdata(String updata) {
this.updata = updata;
}}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.yidong.vo.Mupdata" table="mupdata" schema="dbo" catalog="yidong">
<id name="mupid" type="java.lang.Integer">
<column name="mupid" />
<generator class="native" />
</id>
<many-to-one name="er" class="org.yidong.vo.Marker" fetch="select">
<column name="m_id" />
</many-to-one>
<property name="updata" type="java.lang.String">
<column name="updata" length="100" />
</property>
</class>
</hibernate-mapping>package org.yidong.dao.impl;import java.util.List;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.yidong.dao.MupdataDAO;
import org.yidong.vo.Mupdata;public class MupdataDAOImpl extends HibernateDaoSupport implements MupdataDAO { public void insert(Mupdata mupdata) throws Exception {
super.getSession().save(mupdata);
} public List queryAll() throws Exception {
String hql = "FROM Mupdata";
List all = super.getSession().createQuery(hql).list();
System.out.println(all.size());
return all;
} public void update(Mupdata mupdata) throws Exception {
// TODO Auto-generated method stub
} public List queryById(int muid) throws Exception {
//Mupdata mupdata=null;
String hql = "FROM Mupdata AS mu WHERE mu.mupid=?";
Query q = super.getSession().createQuery(hql);
q.setInteger(0, muid);
List all = q.list();
/*if (all.size() > 0) {
mupdata = (Mupdata) all.get(0);
}*/
return all;
}}/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package org.yidong.struts.action;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.yidong.dao.MupdataDAO;
public class MuplistAction extends Action {
private MupdataDAO mupdatadao;
public MupdataDAO getMupdatadao() {
return mupdatadao;
}
public void setMupdatadao(MupdataDAO mupdatadao) {
this.mupdatadao = mupdatadao;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List all=null;
try {
all=this.mupdatadao.queryAll();
//System.out.println(all.size());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//System.out.println(all.size());
request.setAttribute("allmu", all);
return mapping.findForward("mulist");
}
}
以上就是我的后台程序,可我运行到muplist.do的时候,就报空指针异常,
异常位置在dao的queryAll()的 方法里的List all = super.getSession().createQuery(hql).list();
和action里的all=this.mupdatadao.queryAll();
这两句上。希望高人能指点一下!
* Mupdata entity.
*
* @author MyEclipse Persistence Tools
*/public class Mupdata implements java.io.Serializable { // Fields private Integer mupid;
private Marker er;
private String updata; // Constructors /** default constructor */
public Mupdata() {
} /** full constructor */
public Mupdata(Marker er, String updata) {
this.er = er;
this.updata = updata;
} // Property accessors public Integer getMupid() {
return this.mupid;
} public void setMupid(Integer mupid) {
this.mupid = mupid;
} public Marker getMarker() {
return this.er;
} public void setMarker(Marker er) {
this.er = er;
} public String getUpdata() {
return this.updata;
} public void setUpdata(String updata) {
this.updata = updata;
}}
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="org.yidong.vo.Mupdata" table="mupdata" schema="dbo" catalog="yidong">
<id name="mupid" type="java.lang.Integer">
<column name="mupid" />
<generator class="native" />
</id>
<many-to-one name="er" class="org.yidong.vo.Marker" fetch="select">
<column name="m_id" />
</many-to-one>
<property name="updata" type="java.lang.String">
<column name="updata" length="100" />
</property>
</class>
</hibernate-mapping>package org.yidong.dao.impl;import java.util.List;import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.yidong.dao.MupdataDAO;
import org.yidong.vo.Mupdata;public class MupdataDAOImpl extends HibernateDaoSupport implements MupdataDAO { public void insert(Mupdata mupdata) throws Exception {
super.getSession().save(mupdata);
} public List queryAll() throws Exception {
String hql = "FROM Mupdata";
List all = super.getSession().createQuery(hql).list();
System.out.println(all.size());
return all;
} public void update(Mupdata mupdata) throws Exception {
// TODO Auto-generated method stub
} public List queryById(int muid) throws Exception {
//Mupdata mupdata=null;
String hql = "FROM Mupdata AS mu WHERE mu.mupid=?";
Query q = super.getSession().createQuery(hql);
q.setInteger(0, muid);
List all = q.list();
/*if (all.size() > 0) {
mupdata = (Mupdata) all.get(0);
}*/
return all;
}}/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package org.yidong.struts.action;import java.util.List;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.yidong.dao.MupdataDAO;
public class MuplistAction extends Action {
private MupdataDAO mupdatadao;
public MupdataDAO getMupdatadao() {
return mupdatadao;
}
public void setMupdatadao(MupdataDAO mupdatadao) {
this.mupdatadao = mupdatadao;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List all=null;
try {
all=this.mupdatadao.queryAll();
//System.out.println(all.size());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}//System.out.println(all.size());
request.setAttribute("allmu", all);
return mapping.findForward("mulist");
}
}
以上就是我的后台程序,可我运行到muplist.do的时候,就报空指针异常,
异常位置在dao的queryAll()的 方法里的List all = super.getSession().createQuery(hql).list();
和action里的all=this.mupdatadao.queryAll();
这两句上。希望高人能指点一下!
解决方案 »
- 用jxl导出数据,1万条以上会内存溢出,怎么优化代码?
- Spring Security ACL 项目跑不起来,高手请进。
- 哥么们救命!!!!!hibernate配置文件有错吗
- java问题(求助大神,急需帮助)
- 对ssl熟悉的朋友,有关ssl的问题....
- 向师哥师姐求助——。。Lomboz插件下载!?
- 哪里可以找到如何写.bat批处理文件的文档啊,谢谢!!
- JB中编译JSP遇到的错误
- 又一个xml解析的问题, 高分求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 在xml中存在&,如何显示?
- 用window.showModalDialog()打开的窗口中第一个输入框会自动获得焦点
- Spring org.springframework.jndi.JndiObjectFactoryBean调用Tomcat数据源出错
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean"
destroy-method="close">
<property name="jndiName">
<value>java:comp/env/jdbc/yidong</value>
</property>
</bean>
<!--
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="net.sourceforge.jtds.jdbc.Driver">
</property>
<property name="url"
value="jdbc:jtds:sqlserver://localhost:1433/yidong">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sql123"></property>
</bean>
-->
<bean id="hibernateInterceptor"
class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<!-- 表示允许自动提交 -->
<prop key="hibernate.connection.autocommit">true</prop>
<!-- 显示sql语句
<prop key="hibernate.show_sql">true</prop>
-->
</props>
</property>
<property name="mappingResources">
<list>
<value>org/yidong/vo/Business.hbm.xml</value>
<value>org/yidong/vo/Factory.hbm.xml</value>
<value>org/yidong/vo/Koi.hbm.xml</value>
<value>org/yidong/vo/Marker.hbm.xml</value>
<value>org/yidong/vo/MarkerKoi.hbm.xml</value>
<value>org/yidong/vo/MarkerBusiness.hbm.xml</value>
<value>org/yidong/vo/Users.hbm.xml</value>
<value>org/yidong/vo/Mupdata.hbm.xml</value>
<value>org/yidong/vo/Mqa.hbm.xml</value></list>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userdao" class="org.yidong.dao.UserDAO" abstract="true">
</bean>
<bean id="businessdao" class="org.yidong.dao.BusinessDAO" abstract="true">
</bean>
<bean id="factorydao" class="org.yidong.dao.FactoryDAO" abstract="true">
</bean>
<bean id="koidao" class="org.yidong.dao.KoiDAO" abstract="true">
</bean>
<bean id="businessdao" class="org.yidong.dao.MarkBusinessDAO" abstract="true">
</bean>
<bean id="erdao" class="org.yidong.dao.MarkerDAO" abstract="true">
</bean>
<bean id="erkoidao" class="org.yidong.dao.MarkerKoiDAO" abstract="true">
</bean>
<bean id="mqadao" class="org.yidong.dao.MqaDAO" abstract="true">
</bean>
<bean id="mupdatadao" class="org.yidong.dao.MupdataDAO" abstract="true">
</bean>
<bean id="userdaoimpl" class="org.yidong.dao.impl.UserDAOImpl"
parent="userdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="businessdaoimpl" class="org.yidong.dao.impl.BusinessDAOImpl"
parent="businessdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="factorydaoimpl" class="org.yidong.dao.impl.FactoryDAOImpl"
parent="factorydao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="koidaoimpl" class="org.yidong.dao.impl.KoiDAOImpl"
parent="koidao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="businessdaoimpl" class="org.yidong.dao.impl.MarkBusinessDAOImpl"
parent="businessdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="erdaoimpl" class="org.yidong.dao.impl.MarkerDAOImpl"
parent="erdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="erkoidaoimpl" class="org.yidong.dao.impl.MarkerKoiDAOImpl"
parent="erkoidao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="mqadaoimpl" class="org.yidong.dao.impl.MqaDAOImpl"
parent="mqadao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="mupdatadaoimpl" class="org.yidong.dao.impl.MupdataDAOImpl"
parent="mupdatadao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="/muplist" class="org.yidong.struts.action.MuplistAction">
<property name="mupdatadao">
<ref bean="mupdatadaoimpl"/>
</property>
</bean> </beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="usersForm" type="org.yidong.struts.form.UsersForm" />
<form-bean name="businessForm" type="org.yidong.struts.form.BusinessForm" />
<form-bean name="mupdateForm" type="org.yidong.struts.form.MupdateForm" />
<form-bean name="factoryForm" type="org.yidong.struts.form.FactoryForm" />
<form-bean name="erForm" type="org.yidong.struts.form.MarkerForm" />
<form-bean name="mbForm" type="org.yidong.struts.form.MbForm" />
<form-bean name="mqaForm" type="org.yidong.struts.form.MqaForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings > <action
path="/muplist"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" >
<forward name="mulist" path="/jsp/mulist.jsp"></forward>
</action>
</action-mappings> <message-resources parameter="org.yidong.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<!-- Spring 配置文件载入监听器 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<filter>
<filter-name>encoding</filter-name>
<filter-class>
org.yidong.filter.EncodingFilter
</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>opensession</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>opensession</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>jsp/login.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<res-ref-name>jdbc/yidong</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean"
destroy-method="close">
<property name="jndiName">
<value>java:comp/env/jdbc/yidong</value>
</property>
</bean>
<!--
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="net.sourceforge.jtds.jdbc.Driver">
</property>
<property name="url"
value="jdbc:jtds:sqlserver://localhost:1433/yidong">
</property>
<property name="username" value="sa"></property>
<property name="password" value="sql123"></property>
</bean>
-->
<bean id="hibernateInterceptor"
class="org.springframework.orm.hibernate3.HibernateInterceptor">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<!-- 表示允许自动提交 -->
<prop key="hibernate.connection.autocommit">true</prop>
<!-- 显示sql语句
<prop key="hibernate.show_sql">true</prop>
-->
</props>
</property>
<property name="mappingResources">
<list>
<value>org/yidong/vo/Business.hbm.xml</value>
<value>org/yidong/vo/Factory.hbm.xml</value>
<value>org/yidong/vo/Koi.hbm.xml</value>
<value>org/yidong/vo/Marker.hbm.xml</value>
<value>org/yidong/vo/MarkerKoi.hbm.xml</value>
<value>org/yidong/vo/MarkerBusiness.hbm.xml</value>
<value>org/yidong/vo/Users.hbm.xml</value>
<value>org/yidong/vo/Mupdata.hbm.xml</value>
<value>org/yidong/vo/Mqa.hbm.xml</value></list>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="userdao" class="org.yidong.dao.UserDAO" abstract="true">
</bean>
<bean id="businessdao" class="org.yidong.dao.BusinessDAO" abstract="true">
</bean>
<bean id="factorydao" class="org.yidong.dao.FactoryDAO" abstract="true">
</bean>
<bean id="koidao" class="org.yidong.dao.KoiDAO" abstract="true">
</bean>
<bean id="businessdao" class="org.yidong.dao.MarkBusinessDAO" abstract="true">
</bean>
<bean id="erdao" class="org.yidong.dao.MarkerDAO" abstract="true">
</bean>
<bean id="erkoidao" class="org.yidong.dao.MarkerKoiDAO" abstract="true">
</bean>
<bean id="mqadao" class="org.yidong.dao.MqaDAO" abstract="true">
</bean>
<bean id="mupdatadao" class="org.yidong.dao.MupdataDAO" abstract="true">
</bean>
<bean id="userdaoimpl" class="org.yidong.dao.impl.UserDAOImpl"
parent="userdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="businessdaoimpl" class="org.yidong.dao.impl.BusinessDAOImpl"
parent="businessdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="factorydaoimpl" class="org.yidong.dao.impl.FactoryDAOImpl"
parent="factorydao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="koidaoimpl" class="org.yidong.dao.impl.KoiDAOImpl"
parent="koidao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="businessdaoimpl" class="org.yidong.dao.impl.MarkBusinessDAOImpl"
parent="businessdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="erdaoimpl" class="org.yidong.dao.impl.MarkerDAOImpl"
parent="erdao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="erkoidaoimpl" class="org.yidong.dao.impl.MarkerKoiDAOImpl"
parent="erkoidao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="mqadaoimpl" class="org.yidong.dao.impl.MqaDAOImpl"
parent="mqadao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean id="mupdatadaoimpl" class="org.yidong.dao.impl.MupdataDAOImpl"
parent="mupdatadao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
<bean name="/muplist" class="org.yidong.struts.action.MuplistAction">
<property name="mupdatadao">
<ref bean="mupdatadaoimpl"/>
</property>
</bean> </beans>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"><struts-config>
<data-sources />
<form-beans >
<form-bean name="usersForm" type="org.yidong.struts.form.UsersForm" />
<form-bean name="businessForm" type="org.yidong.struts.form.BusinessForm" />
<form-bean name="mupdateForm" type="org.yidong.struts.form.MupdateForm" />
<form-bean name="factoryForm" type="org.yidong.struts.form.FactoryForm" />
<form-bean name="erForm" type="org.yidong.struts.form.MarkerForm" />
<form-bean name="mbForm" type="org.yidong.struts.form.MbForm" />
<form-bean name="mqaForm" type="org.yidong.struts.form.MqaForm" /> </form-beans> <global-exceptions />
<global-forwards />
<action-mappings > <action
path="/muplist"
scope="request"
type="org.springframework.web.struts.DelegatingActionProxy" >
<forward name="mulist" path="/jsp/mulist.jsp"></forward>
</action>
</action-mappings> <message-resources parameter="org.yidong.struts.ApplicationResources" />
<plug-in
className="org.springframework.web.struts.ContextLoaderPlugIn">
<set-property property="contextConfigLocation"
value="/WEB-INF/classes/applicationContext.xml" />
</plug-in>
</struts-config>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:applicationContext.xml
</param-value>
</context-param>
<!-- Spring 配置文件载入监听器 -->
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
<filter>
<filter-name>encoding</filter-name>
<filter-class>
org.yidong.filter.EncodingFilter
</filter-class>
<init-param>
<param-name>charset</param-name>
<param-value>gbk</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>opensession</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>opensession</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>jsp/login.jsp</welcome-file>
</welcome-file-list>
<resource-ref>
<res-ref-name>jdbc/yidong</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
相关代码请到这里下载,还望大侠们指点小弟一下啊!
String hql = "FROM Mupdata";
List all = super.getSession().createQuery(hql).list(); System.out.println(all.size());
return all;
}
大眼一看没什么毛病,如果出现空指针也是getSession().createQuery() 这个Dao注入sessionFactory了吗?
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</prop>
<!-- 表示允许自动提交 -->
<prop key="hibernate.connection.autocommit">true</prop>
<!-- 显示sql语句
<prop key="hibernate.show_sql">true</prop>
-->
</props>
</property>
<property name="mappingResources">
<list>
<value>org/yidong/vo/Business.hbm.xml</value>
<value>org/yidong/vo/Factory.hbm.xml</value>
<value>org/yidong/vo/Koi.hbm.xml</value>
<value>org/yidong/vo/Marker.hbm.xml</value>
<value>org/yidong/vo/MarkerKoi.hbm.xml</value>
<value>org/yidong/vo/MarkerBusiness.hbm.xml</value>
<value>org/yidong/vo/Users.hbm.xml</value>
<value>org/yidong/vo/Mupdata.hbm.xml</value>
<value>org/yidong/vo/Mqa.hbm.xml</value></list>
</property>
</bean>
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="mupdatadao" class="org.yidong.dao.MupdataDAO" abstract="true">
</bean>
<bean id="mupdatadaoimpl" class="org.yidong.dao.impl.MupdataDAOImpl"
parent="mupdatadao">
<property name="hibernateTemplate">
<ref bean="hibernateTemplate" />
</property>
</bean>
你确保你每个dao类 就是继承HibernateDaoSupport的那个类
是否在配置文件中注入了sessionFactory
.openSession();这样才对!!!
at org.hibernate.tuple.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:372)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:3121)
at org.hibernate.event.def.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:232)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:173)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
at org.hibernate.type.EntityType.resolve(EntityType.java:303)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
at org.hibernate.loader.Loader.doQuery(Loader.java:717)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2145)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
at org.hibernate.loader.Loader.list(Loader.java:2024)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at org.yidong.dao.impl.MupdataDAOImpl.queryAll(MupdataDAOImpl.java:18)
at org.yidong.struts.action.MuplistAction.execute(MuplistAction.java:31)
at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
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.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
at org.yidong.filter.EncodingFilter.doFilter(EncodingFilter.java:22)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:87)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:189)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:292)
at com.caucho.server.port.TcpConnection.handleRequests(TcpConnection.java:577)
at com.caucho.server.port.TcpConnection$AcceptTask.doAccept(TcpConnection.java:1211)
at com.caucho.server.port.TcpConnection$AcceptTask.run(TcpConnection.java:1152)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:759)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:681)
at java.lang.Thread.run(Thread.java:619)
主要在
at org.yidong.dao.impl.MupdataDAOImpl.queryAll(MupdataDAOImpl.java:18)
at org.yidong.struts.action.MuplistAction.execute(MuplistAction.java:31)
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
在HibernateTemplate中没有发现setHibernateTemplate(SessionFactory sessionFactory)
却只有一个构造函数hibernateTemplate(SessionFactory sessionFactory)这样不能注入吧
但spring为啥没包错,这个是一个疑惑
你既然是继承HibernateDaoSupport ,那应该将sessionFactory注入到HibernateDaoSupport 或者MupdataDAO,他通过creatHibernateTemplate创建HibernateTemplate,你可以使用getHibernateTemplate来调用HibernateTemplate的方法;或者按照你的方式<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>既然你注入这个。那你的dao应该继承HibernateTemplate。以上为我个人观点,不知道是否正确,望大家指正交流
他的代码我实在看不出问题,但既然错了,就应该有问题存在,大家都提到了是否注入进去
我也往这方面想了以下
<bean id="hibernateTemplate"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean> 应该改成:
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.HibernateTemplate">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
这里的sessionFactory是继承HibernateDaoSupport父类的一个属性都修改后用下面的这个得到Session 试一下
Session session = super.getHibernateTemplate().getSessionFactory()
.openSession();
你不加这个参数直接查询也能达到你的效果
1.是否是cglib-2.1.3.jar和cglib-nodep-2.1_3.jar相冲突,如果是只需要把cglib-2.1.3.jar包删除就没有问题了
2.将操作表中的属性lazy改成false
3.将cglib升级到2.2 主要试一下第一个方法,是不是这个原因~~,因为你的意思就是有的时候可以,有的时候不可以
如果是这个原因那么就是由于,加载数据时load和get的区别导致的。
可以看一下这个链接:
http://www.blogjava.net/vickzhu/archive/2008/10/22/235993.html