项目中同时使用Hibernate(用于权限的基础框架)+Mybatis(业务开发),最近用到Mybatis调用存储过程,这下问题可来了。
开始在junit里面测试,不行,一直有一个空指针。
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
相关推荐
框架本身没有对错一说,只有适合和更适合项目的选择。任何框架都有自身的能力范围,就拿Hibernate和Mybatis这两个ORM框架来说。 Hibernate封装了很多有用的API给开发者,降低了操作数据库的难度和复杂度,同时也减少...
能不能写个动态的业务,只输入存储过程名称,自动获取存储过程参数,并且参数的数据从前台传递过来...只根据输入不同的存储过程名称、参数内容,自动调用不同的存储过程。 已经使用在多个项目中 全开源项目 请放心下载
一个项目中同时使用hibernate和ibatis两个orm框架,既利用到了hibernate的强大功能也弥补到了hibernate对大数据操作的性能上的影响
怎么使用MyBatis调用存储过程,步骤详细清楚,一看就会配置
这是mybatis调用存储过程的代码
springboot(4) 整合mybatis和hibernate 请删除项目中本地仓库的配置,或者改成国内的公共仓库,否则将无法启动
mybatis调用orclae存储过程
maven+SpringMVC+Spring+Mybatis图片上传本地以及显示+调用存储过程
怎么利用MyBatis传List类型参数到数据库存储过程中实现批量插入数据?接下来通过本文给大家介绍Mybatis传list参数调用oracle存储过程,需要的朋友可以参考下
完整的mybatis调用存储过程,解压解压后附加就可使用,注释详细
MyBatis调用MYSQL存储过程 返回多行 引用的包: asm-3.1.jar cglib-2.2.jar commons-logging-1.1.1.jar log4j-1.2.13.jar mybatis-3.0.4.jar mysql-connector-java-5.1.13.jar slf4j-api-1.5.8.jar slf4j-log4j12-...
spring mvc + mybatis 调用mysql 存储过程
mybatis调用mysql中的存储过程方法详解
项目使用Spring4+SpringMVC+mysql【同时支持mybatis+hibernate两种底层操作框架】+memcached
在已有的spring+mybatis 基本操作oracle数据库的基础上,增加了3个调用存储过程的例子:无返回值、返回结果集、返回多个结果,希望对大家能有所帮助
struts2介绍、和springmvc对比,mybatis介绍和hibernate对比
spring mvc mybatis hibernate完整项目代码,完整JAR包。 运行URL路径:http://localhost:8080/cims/template.do?type=addTemplate
项目中用到了Mybatis调用PostgreSQL存储过程(自定义函数)相关操作,由于PostgreSQL自带数组类型,所以有一个自定义函数的入参就是一个int数组,形如: 代码如下:CREATE OR REPLACE FUNCTION “public”.”func_...
spring-mybatis-hibernate-jar包
主要介绍了mybatis调用存储过程的实例,非常不错,具有参考借鉴价值,需要的朋友可以参考下