mybatis春季一体化问题



我正在尝试将spring与mybatis集成。我已经完成了所有的配置。我有以下版本:弹簧:3.0.6Mybatis:3.0.6mybatis春季:1.0.2

当我使用上面的jar组合时,在tomcat启动时,它抛出SqlSessionFactoryBean classNotFound的异常,当我实际检查mybatis-spring-1.0.2jar时,SqlSessionFactoryBean实际上不在那里。

然后我换成了mybatis-spring-1.2.0现在,在使用这个jar时,在服务器启动时,我收到以下错误消息:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.mybatis.spring.SqlSessionFactoryBean]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/apache/ibatis/mapping/VendorDatabaseIdProvider

使用的配置有:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <!-- org.springframework.jdbc.datasource.DriverManagerDataSource" -->
        <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
        <property name="url" value="jdbc:oracle:thin:@10.10.10.10:1521:xe"/>
        <property name="username" value="uname"/>
        <property name="password" value="pwd"/>
    </bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
        <property name="dataSource" ref="dataSource" />  
        <property name="configLocation" value="/WEB-INF/mybatis-config.xml"/> 
    </bean>
<bean id="transactionDao" class="com.abc.daoImpl.TransactionDaoImpl">
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>

你能告诉我,这里有什么问题吗。提前谢谢。

这个类属于Ibatis而不是MyBatis。确保您将Ibatis作为直接依赖项或传递依赖项。

我这样设置:

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  <property name="dataSource" ref="dataSource" />
</bean>

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
  <property name="dataSource" ref="dataSource" />
  <property name="typeAliasesPackage" value="mx.com.dctechnology.model"/>
  <property name="mapperLocations" value="classpath*:mx/com/dctechnology/dao/maps/*.xml" />
</bean>

<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
  <constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  <property name="basePackage" value="mx.com.dctechnology.dao" />
</bean>

用于pom.xml:

<mybatis.version>3.4.1</mybatis.version>
<mybatis-spring.version>1.3.0</mybatis-spring.version>

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>${mybatis-spring.version}</version>
</dependency>

最新更新