在spring和Mybatis整合过程中遇到好多坑:
最坑的地方:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatisConf.xml" />
</bean>
这个SqlSessionFactoryBean 返回的bean类型是 SqlSessionFactory 类型,不是 SqlSessionFactoryBean类型,故在注入该bean的类型使用SqlSessionFactory 类型
下面是注入该bean的测试 //当初 属性使用SqlSessionFactoryBean 一直报注入类型不同,还有注意点:
注入bean时,get 和set方法名要和name相同 getsqlSessionFactory setsqlSessionFactory
public class GetSqlSessionFactory {
private SqlSessionFactory sqlSessionFactory ;
public SqlSessionFactory getsqlSessionFactory(){
return sqlSessionFactory;
}
public void setsqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
this.sqlSessionFactory = sqlSessionFactory;
}
public SqlSessionFactory sessionFactory(){
/*try {
return sqlSessionFactory.getObject();
} catch (Exception e) {
e.printStackTrace();
return null;
}*/
return sqlSessionFactory;
}
}