Mybatis中ORACLE存储过程基本调用(带in和out参数)

首先存储过程,内容是根据名字查工作和部门

create or replace procedure manyparm(tname in varchar2,
                                     tjob out varchar2,
                                     tdept out varchar2) 
is
begin
  
    select t.job,t.dept 
      into tjob,tdept 
      from test_procedure t 
      where t.name = tname;
  
end manyparm;

XML的编写

	<select id="manyparm" statementType="CALLABLE">

		{
		call manyparm(

		#{tname,mode=IN,jdbcType=VARCHAR},

		#{tjob,mode=OUT,jdbcType=VARCHAR},

		#{tdept,mode=OUT,jdbcType=VARCHAR}

		)

		}

	</select>

此处重点在于 statementType为"CALLBLE"

mapperDao接口的编写 大坑在此

public void manyparm(Emp emp);

他他喵的据说是没有返回值!!!!!!!!


service的编写

	public Emp manyparm(String str) {
		// TODO Auto-generated method stub
		
		Emp emp = new Emp();
		
		emp.setTname(str);
		
		empMapper.manyparm(emp);
		
		System.out.println(emp.getTjob()+","+emp.getTname()+","+emp.getTdept());
		
		return null;
	}

内容是往entity传入姓名,然后调用Mapper的存储过程重点是特么的没有返回值!!!!

然后实体类里已经set好参数。。。。。。entity调用既可调出out参数。。。。。。

没返回值大坑。。。

猜你喜欢

转载自blog.csdn.net/jiulanhao/article/details/80655627
今日推荐