spring(四):spring与mybatis结合
核心就是如何获取SqlSessionFactory对象,然后就可以通过SqlSessionFactory对象获得SqlSession对象,最后就可以
用getMapper("")获取映射接口。
springIOC可以管理SqlSessionFactory对象。
一:使用mybatis-config.xml文件
mybatis-config.xml文件照旧,里面配置了数据库源,以及指定了sql映射文件。
在配置了SqlSessionFactory对象的xml文件会用到mybatis-config.xml
<!-- 配置sqlSessionFactory 使用mybatis-config.xml--> <!-- 直接读取mybatis-config.xml文件,里面和之前配置的一样 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="configLocation" value="classpath:mybatis-config.xml"/> </bean> <!-- 自动扫描映射接口所在的包 --> <!-- 将来可以通过接口的名字首字母小写作为beanName,从spring容器中拿出自动生成的该接口的实现类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.cnlogs.mapper" /> </bean>
二:不使用mybatis-config.xml文件
<context:property-placeholder location="classpath:db.perperties" system-properties-mode="FALLBACK" />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName">
<value>${jdbc.driverClassName}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
</bean>
<!-- 配置sqlSessionFactory 不使用mybatis-config.xml-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="com.briup.db"></property>
<property name="configurationProperties">
<props>
<prop key="cacheEnabled">true</prop>
</props>
</property>
<!-- 自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/cnblogs/mapper/xxx.xml" />
</bean>