请大家帮帮忙,上面的问题我后来绕了过去,才解决
就是不再调用sqlMap.startTransaction();sqlMap.commitTransaction();
我使用conn.AutoCommit(false);conn.commit(); =_=:
虽然很笨,但是暂时解决了。不过现在问题又来了。。请各位高手帮帮忙看看。就是现在我自己写main方法,使用Application run 没有问题。
BUT ,在Weblogic8 + oracle9i 上有报异常了,555555
java.lang.NullPointerException
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.endTransaction(SqlMapExecutorDelegate.java:432)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.endTransaction(SqlMapSessionImpl.java:121)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.endTransaction(SqlMapClientImpl.java:96)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.autoStopTransaction(SqlMapExecutorDelegate.java:488)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:241)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:57)
请大家看看,各位高手帮帮我吧谢谢
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:34)

解决方案 »

  1.   

    问题解决了,数据库连接null,引起的。
    现在结贴吧
      

  2.   

    贴一下我的sqlmapconfig.xml配置吧,如果集成spring的也相似的 <transactionManager  type ="JDBC" >   <!-- 定义了ibatis的事务管理器有3中(JDBC,JTA,EXTERNAL) -->  
    <dataSource  type ="SIMPLE" >   <!-- type属性指定了数据源的链接类型,也有3种类型(SIMPLE,DBCP,JNDI) -->  
    <property  name ="JDBC.Driver"  value ="com.mysql.jdbc.Driver" />  
    <property  name ="JDBC.ConnectionURL"  value ="jdbc:mysql://localhost:3306/blogschema?characterEncoding=UTF-8" />  
    <property  name ="JDBC.Username"  value ="root" />  
    <property  name ="JDBC.Password"  value ="root" />  
         <property name="username" value="root"></property>
         <property name="password" value="root"></property>    
         <property name="maxActive" value="100"></property>
         <property name="maxIdle" value="100"></property>
         <property name="maxWait" value="10000"></property>     
    </dataSource >  
    </transactionManager >Junit中读取配置文件Java代码String resource = "conf/SqlMapConfig.xml";
    Reader reader = Resources.getResourceAsReader(resource);
    //创建SqlMapClient接口的变量实例
    SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);