import org.springframework.orm.hibernate3.HibernateOperations;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.bb.persistence.BaseDao;
import org.bb.persistence.hibernate3.BaseDaoImpl;
import org.bb.persistence.hibernate3.BaseQuery;
import org.bb.persistence.hibernate3.QueryAll;import org.bb.persistence.hibernate3.QueryByString;
import org.hibernate.cfg.Configuration;
import java.util.*;
import java.io.Serializable;
import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import AlifeedHall.User;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;
import java.util.List;public class Util extends QueryByString { private Session session = null; /*
 * public Session getSession(){ // Configuration config=null; SessionFactory
 * sessionFactory; try {
 * this.getHibernateTemplate().getSessionFactory().openSession();
 * Configuration config = new Configuration(); config.addClass(User.class);
 * sessionFactory = config.buildSessionFactory(); // SessionFactory
 * sessionFactory=config.buildSessionFactory(); session =
 * sessionFactory.openSession(); return session; }catch (Exception ex){
 * System.out.println("getsession出错了。。" + ex.getMessage()); return null; } }
 */ public int getCount() {
// session = this.getSession();
// BaseDaoImpl dao = new BaseDaoImpl();
String sql = "select count(*) from User"; try {
// ss.createQuery("select count(a)as cont from articleVO a ");
// int rows = ((Integer) ss.iterate(sql).next()).intValue();
// int rows = dao.loadAllCount(sql);
// List lstCount = dao.loadbySQL(sql);
session.createQuery(sql).uniqueResult();
// System.out.println((Integer)lstCount.get(0));
session.flush();
return 0; } catch (HibernateException ex) {
System.out.print("ex::" + ex.getMessage());
return 0;
} }2010-4-14 16:45:31 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at org.bb.util.Util.getCount(Util.java:47)
at org.apache.jsp.mng.getRegisterbyDate_jsp._jspService(getRegisterbyDate_jsp.java:75)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at FilterUtility.AuthenticateFilter.doFilter(AuthenticateFilter.java:253)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:619)

解决方案 »

  1.   

    session.createQuery(sql).uniqueResult();
    换成 
    session.createSQLQuery(sql).uniqueResult();因为你的
    String sql = "select count(*) from User"; 是sql语句 不是hql语句或者把 
    String sql = "select count(*) from User"; 修改成 
    String sql = "from User";
      

  2.   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

    <bean id="propertyConfigurer"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="fileEncoding"><value>UTF-8</value></property>
    <property name="locations">
    <list>
    <value>/WEB-INF/properties/common/database-mysql.properties</value><!-- 添加数据源 -->
    <value>/WEB-INF/properties/common/database-default.properties</value><!-- sessionFactory 所用的hibernate配置 现在用hibrnate.cfg.xml比较好 -->
    <value>/WEB-INF/properties/common/app.properties</value><!-- 过滤所用的关键字 filterkeyword --> 
    </list>
    </property>
    </bean>  
    </beans>
      

  3.   

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
    <import resource="config.xml" />
    <import resource="sessionFactory.xml" />
    <import resource="common.xml" />
    <import resource="datasource.xml" />
       <!-- <bean id="MsnTest" class="org.bb.msn.MsnTest"></bean>
        <bean id="Util" class="org.bb.util.Util.java"></bean> --> 
    </beans>
      

  4.   

    #######################################################################
    # Default Configurations
    #######################################################################dataSource.validationQuery=SELECT count(1) FROM ${dataSource.username}.ACL_User;
    dataSource.poolPreparedStatements=true
    dataSource.maxActive=50
    dataSource.maxIdle=2##################
    hibernate.default_batch_fetch_size=16
    hibernate.generate_statistics=true
    ##################hibernate.default_schema=${dataSource.username}
    hibernate.max_fetch_depth=2
    hibernate.jdbc.batch_size=30
    hibernate.bytecode.use_reflection_optimizer=true
    hibernate.show_sql=true
    hibernate.format_sql=true
    hibernate.use_sql_comments = true
    hibernate.current_session_context_class=thread   
    hibernate.query.substitutions=true 1, false 0, yes 'Y', no 'N'
    hibernate.jdbc.use_streams_for_binary=true
    hibernate.connection.pool_size=32
    hibernate.connection.batch_size=100
    hibernate.dialect=org.hibernate.dialect.MySQLDialect
    hibernate.cache.provider_class=org.hibernate.cache.OSCacheProvider
    #hibernate.cache.provider_class=net.sf.ehcache.hibernate.EhCacheProvider
    hibernate.cache.use_query_cache=false#hibernate.connection.provider_class= org.hibernate.connection.DBCPConnectionProvider
    hibernate.connection.provider_class= org.hibernate.connection.C3P0ConnectionProvider
    hibernate.dbcp.maxActive=${dataSource.maxActive}
    hibernate.dbcp.whenExhaustedAction=1
    hibernate.dbcp.maxWait=120000
    hibernate.dbcp.maxIdle=20hibernate.dbcp.ps.maxActive=${dataSource.maxActive}
    hibernate.dbcp.ps.whenExhaustedAction=1
    hibernate.dbcp.ps.maxWait=120000
    hibernate.dbcp.ps.maxIdle=20
      

  5.   

    相当无语,你的session在哪里初始化的,这样定义一个没有初始化的怎么有内容呢?至于 SQL没错.
    public Session getSession()这个又注释了,怎么会有东西.先看错误提示,很容易解决的,这些事不是别人帮得上忙的.java.lang.NullPointerException
    at org.bb.util.Util.getCount(Util.java:47)已经是经典不过的东西了,
    别怪别人不帮你,有时自己也要先考虑下
      

  6.   

    你的session在哪里初始化的,这样定义一个没有初始化的怎么有内容呢?至于 SQL没错.
    public Session getSession()这个又注释了,怎么会有东西.先看错误提示,很容易解决的,这些事不是别人帮得上忙的.java.lang.NullPointerException
    at org.bb.util.Util.getCount(Util.java:47)已经是经典不过的东西了,
    别怪别人不帮你,有时自己也要先考虑下
      

  7.   

    session你只是申明了,没初始化,所以后面用就报错了
      

  8.   

    初始化了没用啊 老是拿不到session
      

  9.   

    你好,楼主!
    哎,又是空指针的引用。
    老是在CSDN 看到这样的错误。private Session session = null;// session = this.getSession();
    你干嘛又把它注释了呢?session 显然是空的啊,不报NullPointerException 才怪呢。
      

  10.   

    你的session为null   // session = this.getSession(); 被你注视掉了