【mybatis】mybatis调用sqlserver存储过程和表值函数

存储过程和表值函数的区别

最简单的区别是存储过程是pr开头的,而存储过程是fn开头的,表值函数返回的是一个表结构的结果。如果mybatis用调用存储过程的方式去调用表值函数,就会抛出以下的异常:

exception:不能调用'xxxxx',因为'xxxx'是表值函数对象。

调用存储过程

如果要调用一个叫做“pr_test_a”的存储过程,需要传入参数并且有返回值。如下所示,resultMap中存的是返回值的字段名和类型,在select中调用存储过程,传入对应的参数


	
	
	
	



调用表值函数

就当做一张表来查询即可。如调用一个表值函数fn_test_b,返回结果到resultMap中。


    
    
    



你可能感兴趣的:(数据库)