您的位置:首页 > 其它

Mybatis调用存储过程

2014-12-23 00:21 155 查看
如何使用Mybaits调用数据库中的存储过程,下面以Oracle数据库的为例:

 

1.在数据库中创建以下的存储过程:

create or replace procedure pro_hello(p_user_name in
varchar2,p_result out varchar2) is

begin

  p_result := 'hello,' || p_user_name;

end;

 

2.编写SQL映射文件mapper.xml:

 

3.编写JAVA代码调用存储过程

public class ProcedureTest {

        

        
public static void main(String[] args) throws IOException {

        
   String resource =
"mybatis.cfg.xml";

     
   
  Reader reader =
Resources.getResourceAsReader(resource);

     
   
  SqlSessionFactory ssf = new
SqlSessionFactoryBuilder().build(reader);

       

     
   
  SqlSession session =
ssf.openSession();

       

     
     try {

       
     
   Map param = new HashMap();

       
     
   param.put("p_user_name",
"zhangsan");

       
     
   String returnValue = (String)
session.selectOne("User.proHello", param);

       
     
   System.out.println("message="
+ param.get("p_user_name"));

       
     
   System.out.println("result=" +
param.get("result"));

       
     
 
 System.out.println("returnValue=" +
returnValue);

 

     
     } catch
(Exception e) {

     
     
 
  e.printStackTrace();

     
     } finally
{

     
     
  session.close();

     
    }

       }

}

 

4.执行Java代码,控制台输出结果如下:

2012-03-07 20:36:32,406 DEBUG [java.sql.PreparedStatement]
-==>  Executing: {call pro_hello(?,?)}

2012-03-07 20:36:32,406 DEBUG [java.sql.PreparedStatement]
-==> Parameters: zhangsan(String)

message=zhangsan

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: