企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 三、实例参考集锦 默认输入模式IN { call proc_test_insert ( ? ) } //仅是输入值,需要用数组方式赋值 { call proc_test_insert ( #{name} ) } // 默认IN输入模式 { call proc_test_insert ( #{name | OUT | VARCHAR} ) } //参数类型也可以明确指出。当然,默认为Java_Object就足够了,一般情况下无需要指出。 { call proc_test_insert ( #{name | INOUT } ) } { call proc_test_insert ( 123, 456, #{name} ) } { call proc_test_insert ( 123, 456, #{name1}, #{name2}, #{name3 | OUT} ) } { ?= call func100 ( 123, 456 ) } // 默认返回值名称 return { #{myname} = call func100 ( 123, 456, ) } //返回值名称 myname import java.util.Arrays; import java.util.List; import cn.cantong.mlink.MLinkClient; import cn.cantong.mlink.MLinkTemplate; import cn.cantong.mlink.exception.DataAccessException; import cn.cantong.mlink.mo.ResultMo; public class TestTemplateProc { private static String HTTP_BASE = "http://localhost:8080"; private MLinkTemplate mlinktemplate = null; public TestTemplateProc() { MLinkClient mlinkclient = new MLinkClient(HTTP_BASE); this.mlinktemplate = new MLinkTemplate(mlinkclient); } public void test0() throws DataAccessException { System.out.println("-------------------------------"); ResultMo rm = mlinktemplate.procedure("{call proc0()}"); if (rm != null) { System.out.println(">>"+rm); } } public void test2() throws DataAccessException { System.out.println("------------------------------- 两个输出参数"); ResultMo rm = mlinktemplate.procedure("{call proc2( #{ count |OUT }, #{ aa | INOUT } )}"); if (rm != null) { System.out.println("count>>"+rm.getParameter("count")); System.out.println("aa>>"+rm.getParameter("aa")); } } public void test5() throws DataAccessException { System.out.println("------------------------------- 三个输入两个输出参数"); ResultMo rm = mlinktemplate.procedure("{call proc5( 123, 66666666, 45.32, #{ oo1 }, #{ oo2 } )}"); if (rm != null) { System.out.println(">>"+rm); System.out.println("oo1>>"+rm.getParameter("oo1")); System.out.println("oo2>>"+rm.getParameter("oo2")); List<Object[]> list = rm.getList(); for (Object[] objs : list) { System.out.println(">>"+Arrays.toString(objs)); } } } public static void main(String[] args) { try { new TestTemplateProc().test0(); new TestTemplateProc().test2(); new TestTemplateProc().test5(); } catch (DataAccessException e) { e.printStackTrace(); } } }