首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Mybatis与Hibernate共处项目调用存储过程

2013-08-14 
Mybatis与Hibernate共存项目调用存储过程junit的配置类package com.rixingimport org.junit.runner.RunWi

Mybatis与Hibernate共存项目调用存储过程

junit的配置类

package com.rixing;import org.junit.runner.RunWith;import org.springframework.test.context.ContextConfiguration;import org.springframework.test.context.TestExecutionListeners;import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests;import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import org.springframework.test.context.support.DependencyInjectionTestExecutionListener;import org.springframework.test.context.transaction.TransactionConfiguration;import org.springframework.transaction.annotation.Transactional;/** * User: renjunjie * Date: 13-7-9 上午10:24 * Function: */@RunWith(SpringJUnit4ClassRunner.class)@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class })@ContextConfiguration(locations={"classpath:spring-test.xml","classpath:spring-data-test.xml"})@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true)public class SpringTest extends AbstractTransactionalJUnit4SpringContextTests {}

?这是一个带有事务控制的测试基类。经过仔细查看发现了错误代码里面有hibernate的内容,奇怪了,用mybatis怎么会用到hibernate呢。想到配置事务的时候是用HibernateTransactionManager统一管理的,难道是这个问题。更改测试基类

@RunWith(SpringJUnit4ClassRunner.class)@TestExecutionListeners( { DependencyInjectionTestExecutionListener.class })@ContextConfiguration(locations={"classpath:spring-test.xml","classpath:spring-data.xml"})public class OracleFunTest {

?直接运行,通过了。

然后在程序里面测试,发现还是有问题,问题在aop配置的事务。改正不需要事务控制的全部

 <tx:method name="*" propagation="NEVER" />

?这下可以了。

?

?

mybatis调用oracle带结果集的存储过程的方法,仔细查看mybatis的手册,发现oracle的结果集必须是自定义的resultMap。

http://hillfallshore.iteye.com/blog/1462355

?

?

热点排行