在weblogic里配完jndi后,用mybatis调用jndi出错,怎么解决啊??weblogic JNDI数据源配置如下:
Name  JNDI Name Targets
TestDatasource TestDatasource AdminServer
SQLMapConfig.xml文件配置如下:<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC
"-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<!--
dataSource type="POOLED"> <property name="driver"
value="oracle.jdbc.OracleDriver" /> <property name="url"
value="jdbc:oracle:thin:@135.224.184.181:1521:ORCL" /> <property
name="username" value="test01" /> <property name="password"
value="test" /> </dataSource
-->
<dataSource type="JNDI">
<property name="context.java.naming.factory.initial" value="weblogic.jndi.WLInitialContextFactory" />
<property name="context.java.naming.provider.url" value="t3://localhost:7001" />
<property name="DataSource" value="TestDatasource" />
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="config/mybatis/sqlmap/userMapper.xml"></mapper>
</mappers></configuration>调用时抛出异常如下:
Error 500--Internal Server Errororg.apache.ibatis.exceptions.PersistenceException: 
### Error building SqlSession.
### The error may exist in SQL Mapper Configuration
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Parameter 'dataSource' must not be null
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:23)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:51)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:35)
at com.xjgzinfo.custview.datalayer.model.UserInfoTest.SetContext(UserInfoTest.java:67)
at com.xjgzinfo.custview.datalayer.model.UserInfoTest.(UserInfoTest.java:18)
at jsp_servlet.__index._jspService(__index.java:93)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:223)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)
at weblogic.servlet.internal.ServletStubImpl.onAddToMapException(ServletStubImpl.java:391)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:309)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3245)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2003)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1909)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1359)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Parameter 'dataSource' must not be null
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:105)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:88)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:49)
... 19 more
Caused by: java.lang.IllegalArgumentException: Parameter 'dataSource' must not be null
at org.apache.ibatis.mapping.Environment.(Environment.java:36)
at org.apache.ibatis.mapping.Environment$Builder.build(Environment.java:66)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.environmentsElement(XMLConfigBuilder.java:227)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:100)

解决方案 »

  1.   

    config/mybatis/sqlmap/userMapper.xml 里面的有问题
      

  2.   

    自己解决了,要把答案贴出来! 这是CSDN不是百度知道
      

  3.   


    Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.IllegalArgumentException: Parameter 'dataSource' must not be nullSQL Mapper 配置问题,dataSource不能为空
      

  4.   

    不好意思前段时间较忙,没顾上上论坛了。问题已经解决了,原因如下:
    <property name="DataSource" value="TestDatasource" />
    改为
    <property name="data_source" value="TestDatasource" /> 坑爹的MyBatis