首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

ibatis有关问题高手帮忙

2011-12-29 
ibatis问题高手帮忙!packagecom.roya.mcc.dao.commonimportjava.io.Fileimportjava.io.FileReaderimpor

ibatis问题高手帮忙!
package   com.roya.mcc.dao.common;

import   java.io.File;
import   java.io.FileReader;
import   java.io.IOException;
import   java.io.Reader;
import   java.util.Properties;

import   org.apache.log4j.Logger;

import   com.ibatis.common.resources.Resources;
import   com.ibatis.dao.client.DaoManager;
import   com.ibatis.dao.client.DaoManagerBuilder;

/**
  *   数据库操作工具类
  *  
  *   @author   chenjun
  *   @since   2007.1.25
  */

public   class   DaoConfig   {
//   dao配置文件
private   static   final   String   resource;
private   static   Logger   logger   =   Logger.getLogger(DaoConfig.class);
//   dao管理工具
private   static   final   DaoManager   daoManager;
//   初试化dao管理工具
static   {
try   {
//   获取配置文件
resource   =   IbatisConfigerListener.getDbResource();
//   初试化数据库管理类
daoManager   =   newDaoManager(null);
}   catch   (Exception   e)   {
throw   new   RuntimeException( "Description.     Cause:   "   +   e,   e);
}
}

/**
  *   获得数据库管理类(单例模式)
  *  
  *   @return   daoManager   数据库操作管理类实例
  */
public   static   DaoManager   getDaoManager()   {
return   daoManager;
}

/**
  *   创建数据库操作管理类实例
  *  
  *   @param   props
  *                         数据库连接参数
  *   @return   数据库操作管理类实例
  */
public   static   DaoManager   newDaoManager(Properties   props)   {
try   {
Reader   reader   =   null;
try{
reader   =   Resources.getResourceAsReader(resource);
}catch   (IOException   ioe){
logger.error(ioe);
}
if   (reader   ==   null)   {
reader   =   new   FileReader(new   File(resource));
}
return   DaoManagerBuilder.buildDaoManager(reader,   props);
}   catch   (Exception   e)   {
logger.error(e);
throw   new   RuntimeException( "Could   not   initialize   DaoConfig.     Cause:   "   +   e,   e);
}
}
}

老是报错不知道为什么?
java.lang.NullPointerException
at   com.roya.mcc.forbidden.interfaceAndCarrey.ForbiddenCarray. <init> (ForbiddenCarray.java:67)
at   com.roya.mcc.forbidden.interfaceAndCarrey.ForbiddenCarray.getInstance(ForbiddenCarray.java:55)
at   com.roya.mcc.forbidden.interfaceAndCarrey.ForbiddenCarrayFactory.creator(ForbiddenCarrayFactory.java:23)
at   com.roya.mcc.dao.daoforbidden.ibatis.sqlserver.DAOImpl. <init> (DAOImpl.java:26)
at   sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native   Method)
at   sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown   Source)
at   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown   Source)
at   java.lang.reflect.Constructor.newInstance(Unknown   Source)
at   com.ibatis.dao.engine.builder.xml.XmlDaoManagerBuilder.parseDao(XmlDaoManagerBuilder.java:223)
at   com.ibatis.dao.engine.builder.xml.XmlDaoManagerBuilder.parseContext(XmlDaoManagerBuilder.java:160)


at   com.ibatis.dao.engine.builder.xml.XmlDaoManagerBuilder.buildDaoManager(XmlDaoManagerBuilder.java:102)
at   com.ibatis.dao.engine.builder.xml.XmlDaoManagerBuilder.buildDaoManager(XmlDaoManagerBuilder.java:79)
at   com.ibatis.dao.client.DaoManagerBuilder.buildDaoManager(DaoManagerBuilder.java:49)
at   com.roya.mcc.dao.common.DaoConfig.newDaoManager(DaoConfig.java:67)
at   com.roya.mcc.dao.common.DaoConfig. <clinit> (DaoConfig.java:34)
at   com.roya.mcc.service.servescope.ServeScopeMapService. <init> (ServeScopeMapService.java:29)
at   com.roya.mcc.service.servescope.ServeScopeMapServiceTest. <init> (ServeScopeMapServiceTest.java:15)
at   sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native   Method)
at   sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown   Source)
at   sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown   Source)
at   java.lang.reflect.Constructor.newInstance(Unknown   Source)
at   junit.framework.TestSuite.createTest(TestSuite.java:135)
at   junit.framework.TestSuite.addTestMethod(TestSuite.java:114)
at   junit.framework.TestSuite. <init> (TestSuite.java:75)
at   org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.getTest(JUnit3TestLoader.java:102)
at   org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestLoader.loadTests(JUnit3TestLoader.java:59)
at   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
at   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


[解决办法]
看看配置吧,有null
[解决办法]
你的代码不全,我估计很有可能是数据库的连接没有找到。
[解决办法]
空指针异常,debug一下吧,看着些看不出来
[解决办法]
问题解决了吗?我今天也遇到这问题,一天了,也没调出来。你是如何解决的?请赐教!
[解决办法]
1。
// 初试化数据库管理类 
daoManager = newDaoManager(null); 
为什么传null进去?
2。
ForbiddenCarray. <init> (ForbiddenCarray.java:67)
从 ForbiddenCarray.java的67行开始找,这样比较快

热点排行