-
SSH框架中的有关数据库的问题5
我其他没有问题,就是连接数据库可能有问题,但是程序也能初始化成功,但在执行具体sql的时候,不能执行
java.lang.NullPointerException
at com.test.dao.BaseDaoImpl.loadObject(BaseDaoImpl.java:29)
at com.test.service.impl.UserServiceImpl.selectUserByNumber(UserServiceImpl.java:38)
at com.test.struts.action.UserAction.selectUserByNumber(UserAction.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.test.struts.interceptor.LoggerInterceptor.intercept(LoggerInterceptor.java:42)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.TimerInterceptor.invokeUnderTiming(TimerInterceptor.java:124)
at com.opensymphony.xwork2.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:111)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
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:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
这是我的其中spring和hibernate的配置文件<?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:context="http://www.springframework.org/schema/context" 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-3.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- 开启注解处理器 --> <context:annotation-config/> <!-- 定义使用C3P0连接池的数据源 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <!-- 指定连接数据库的JDBC驱动 --> <property name="driverClass"> <value>com.mysql.jdbc.Driver</value> </property> <!-- 连接数据库所用的URL --> <property name="jdbcUrl"> <value>jdbc:mysql://localhost:3306/softtest?useUnicode=true&characterEncoding=utf-8</value> </property> <!-- 连接数据库的用户名 --> <property name="user"> <value>root</value> </property> <!-- 连接数据库的密码 --> <property name="password"> <value>root</value> </property> <!-- 设置数据库连接池的最大连接数 --> <property name="maxPoolSize"> <value>20</value> </property> <!-- 设置数据库连接池的最小连接数 --> <property name="minPoolSize"> <value>2</value> </property> <!-- 设置数据库连接池的初始化连接数 --> <property name="initialPoolSize"> <value>2</value> </property> <!-- 设置数据库连接池的连接的最大空闲时间,单位为秒 --> <property name="maxIdleTime"> <value>20</value> </property> </bean> <!-- 定义Hibernate的SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <!-- 依赖注入上面定义的数据源dataSource --> <property name="dataSource" ref="dataSource"/> <!-- 注册Hibernate的ORM映射文件 --> <property name="mappingResources"> <list> <value>com/test/orm/FaultInfo.hbm.xml</value> <value>com/test/orm/ModelInfo.hbm.xml</value> <value>com/test/orm/ProjectInfo.hbm.xml</value> <value>com/test/orm/UserInfo.hbm.xml</value> <value>com/test/orm/UserModel.hbm.xml</value> <value>com/test/orm/UserFault.hbm.xml</value> <value>com/test/orm/UserProject.hbm.xml</value> <value>com/test/orm/FaultType.hbm.xml</value> <value>com/test/orm/Logger.hbm.xml</value> </list> </property> <!-- 设置Hibernate的相关属性 --> <property name="hibernateProperties"> <props> <!-- 设置Hibernate的数据库方言 --> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <!-- 设置Hibernate是否在控制台输出SQL语句,开发调试阶段通常设为true --> <prop key="show_sql">true</prop> <!-- 设置Hibernate一个提交批次中的最大SQL语句数 --> <prop key="hibernate.jdbc.batch_size">50</prop> </props> </property> </bean> <!--定义Hibernate的事务管理器HibernateTransactionManager --> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <!-- 依赖注入上面定义的sessionFactory --> <property name="sessionFactory" ref="sessionFactory"/> </bean> <!-- 装配HibernateTemplate实例 --> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <constructor-arg ref="sessionFactory"/> </bean> </beans>
这是我的数据库操作代码public Object loadObject(String hql) { final String hql1 = hql; Object obj = null; try { List list = hibernateTemplate.executeFind(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Query query = session.createQuery(hql1); return query.list(); } }); if (list.size() > 0) { obj = list.get(0); } } catch (Exception e) { e.printStackTrace(); } return obj; }
2012年10月26日 13:35
4个答案 按时间排序 按投票排序
-
采纳的答案
肯定是你的BaseDaoImpl对象的空的,看下你的BaseDaoImpl这个对象是否注入了或者注入是否正确。
2012年10月28日 08:03
-
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <constructor-arg ref="sessionFactory"/> </bean> 改为这样试试: <bean id="hibernateTemplate" class="org.springframework.orm.hibernate3.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"/> </bean>
2012年10月26日 14:11
-
java.lang.NullPointerException
at com.test.dao.BaseDaoImpl.loadObject(BaseDaoImpl.java:29)
BaseDaoImpl.java:29 行,看29行是什么?2012年10月26日 13:38
相关推荐
在这个"SSH框架整合对数据库作增删查改操作 源代码+数据库"的项目中,你可以找到以下关键知识点: 1. **Spring配置**:包括Bean的定义、依赖注入、事务管理配置等,这些配置文件(如 applicationContext.xml)是...
在SSH框架中,我们需要创建对应的数据库表,设计好表结构,以满足业务需求。Oracle支持多种高级特性,如存储过程、触发器和分区等,可以提高数据处理的效率和安全性。 5. **CRUD操作**: - **Create**(创建):在...
4. **数据库设计**:在SSH框架开发的系统中,数据库设计至关重要。它包括概念数据模型、逻辑数据模型和物理数据模型的设计。表结构、主键、外键、索引等元素的合理规划,能确保数据的一致性和完整性,提高系统的性能...
SSH框架整合是Java Web开发中常见的一种技术栈组合,它由Struts、Spring和Hibernate三个框架构成,分别负责表现层、业务层和持久层的管理。这个项目标题提及的是一个结合了MySQL数据库实现简单用户登录功能的SSH整合...
这个压缩包提供的jar文件,为开发者搭建SSH框架和SQL Server数据库环境提供了便利,只需将这些jar包添加到项目的类路径中,就可以开始编写代码,大大减少了配置工作。但要注意的是,不同的项目可能还需要其他依赖,...
"基于SSH框架的mysql数据库导出脚本"这个主题主要涉及如何使用SSH框架中的工具或自定义脚本来导出MySQL数据库中的数据。在实际开发中,数据备份和迁移是非常重要的环节,尤其是在大型项目中,确保数据的安全性和完整...
《JavaEE + SSH框架 + MySQL数据库:构建BBS论坛系统》 在信息技术领域,JavaEE作为企业级应用开发的重要平台,常常与各种框架结合,以提高开发效率和系统性能。SSH(Struts、Spring、Hibernate)框架组合就是其中...
SSH框架集成连接Oracle数据库的配置是一项常见的开发任务,主要涉及Spring、Struts2和Hibernate这三个流行Java开源框架的协同工作。下面将详细讲解这个过程。 首先,SSH框架是Java Web开发中的三大神器,它们分别是...
标题中的“oa办公源码java ssh框架带mysql数据库”揭示了这是一个基于Java技术栈和SSH框架(Struts1、Hibernate、Spring)构建的自动化办公(OA)系统的源代码,同时集成了MySQL数据库。这个系统旨在提供一个易于...
在这个主题中,“ssh框架完成对oracle数据库的增删查改”指的是使用SSH框架来操作Oracle数据库,实现数据的基本CRUD(Create, Read, Update, Delete)功能。 首先,Struts2是MVC(Model-View-Controller)架构模式...
SSH框架,全称为Struts2、Spring和Hibernate的组合,是...通过研究这个"SSH框架投票系统源码及数据库",不仅可以深入理解SSH框架的工作原理,还能掌握实际开发中的问题解决技巧,为以后的Java Web开发打下坚实基础。
SSH框架,全称为Struts2、Spring和Hibernate的组合,是Java Web开发中常见的三大开源框架集成。这个压缩包文件"SSHdemo"提供了一个SSH框架搭建登录功能的示例,帮助开发者了解并实践如何整合这三个框架来构建一个...
本博客采用SSH开发,数据库是mysql,由于文件大小限制,删...这个博客是我为了练习ssh框架开发的,因此,界面很简洁,没有过多的装潢,供初学ssh开发的朋友参考。 附:用的ssh的版本 struts 1.3 hibernate 3.2 spring 2.0
ssh框架整合实现登录注册,加载jar包,编写配置文件,数据库自己创建,ssh框架入门 还有许多要学的,只是入门知识,框架内容很多,多加理解练习
在这个"ssh框架项目源码带数据库文件"中,我们可以深入理解这三个框架如何协同工作,以及如何应用于实际的网上购票系统。 首先,Spring框架作为核心的依赖注入(DI)和面向切面编程(AOP)容器,它管理着应用中的...
在SSH框架中,Hibernate负责处理SQL查询,通过ORM(对象关系映射)将Java对象转换为数据库中的记录。在这个实例中,你将看到如何定义实体类,配置Hibernate映射文件,以及如何在Service层中使用SessionFactory和...
【JavaEE + SSH框架 + MySQL数据库在银行业中应用】 JavaEE是企业级应用程序开发的首选平台,它提供了丰富的API和工具来构建分布式、多层的Web应用。SSH(Struts2、Spring、Hibernate)框架组合是JavaEE开发中的...
8. **异常处理**:项目中提到了“异常”,在SSH框架下,可以统一捕获并处理异常,比如定义全局的异常拦截器,或者在Service层进行异常封装。 9. **数据库**:描述中提到"数据库添加上就可以直接运行",意味着项目...
#### 二、SSH在数据库连接中的应用 在实际应用场景中,我们可能需要在一个服务器上通过SSH隧道安全地访问另一个服务器上的数据库资源。这种场景在分布式系统、云计算环境中尤为常见。 #### 三、案例分析:SSH连接两...
8. **实战经验**:在实际项目中,开发者需要关注性能优化、事务管理、异常处理等问题,这都需要对SSH框架有深入的理解。例如,合理使用Spring的AOP进行事务管理,避免Struts的性能瓶颈,以及优化Hibernate的查询性能...