与mybatis-spring集成问题
问题描述:
我正在尝试将mybatis.I和Spring集成在一起。我已经完成了所有的配置。 我有以下版本: 春:3.0.6 的MyBatis:3.0.6 MyBatis的弹簧:1.0.2与mybatis-spring集成问题
当我使用上述罐的组合,在tomcat的的启动,它会抛出异常SqlSessionFactoryBean的ClassNotFound的当我真正检查mybatis-spring-1.0.2 jar时,SqlSessionFactoryBean实际上并不存在。
然后我切换到MyBatis的弹簧-1.2.0 现在使用这个罐子,在服务器启动时,我得到以下错误消息:用于
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>
基本上我与得到罐子的完美结合春季挣扎+ ibatis configuration.Can任何已经在spring + my上工作过的人batis集成可以让我知道哪些版本是可以互相兼容的。最新的我尝试了mybatis-3.0.4和mybatis-spring-1.0.0和spring-3.0.5,但是我得到了以下的exceptionorg.apache.ibatis.builder。 xml.XMLConfigBuilder。(Ljava/IO/InputStream的; Ljava /郎/字符串; Ljava/util的/属性;)V \t在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) –
user2603985
2014-09-06 17:15:58
余改变为以下jars:Spring:3.0.6,mybatis-3.0.6,mybatis-spring-1.0.0和以上的异常都没有了,但现在我得到以下异常:在ServletContext资源中定义的名为'sqlSessionFactory'的bean创建错误[/ WEB -INF/applicationContext.xml]:调用init方法失败;嵌套异常是org.apache.ibatis.builder.BuilderException:创建文档实例时出错。原因:java.net.ConnectException:连接超时:connect – user2603985 2014-09-06 17:56:48
连接超时通常意味着存在数据库连接错误? – 2014-09-10 14:50:20