收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


renqiwang的笔记
状态: 离线
人气:2768382
访问用户量:2511
笔记经验:
总积分:389
级别:普通会员
搜索本笔记
ta的交流分类
ta的交流主题贴(61)
ta的所有交流贴(81)
ta的全部笔记
全部笔记(189)
未分类笔记(15)
JAVA(73)
课程问题(0)
Hibernate4(7)
Spring3(11)
Struts2(1)
ant(1)
maven(1)
jBPM(5)
Java Web(11)
研磨Struts2(15)
jquery(1)
Oracle&JDB……(2)
PL-SQL(1)
Android(0)
log4j&slf4……(1)
Mybaits(4)
研磨设计模式(28)
SpringMVC(11)
Spring Dat……(1)
存档
2013-11(10)
2013-07(12)
2012-11(1)
2012-08(28)
2012-03(6)
2012-02(132)

2012-03-19 13:35:06
Mybatis技术(五)Mybatis调用存储过程
浏览(102323)|评论(0)   交流分类:Java|笔记分类: Mybaits

如何使用Mybaits调用数据库中的存储过程,下面以Oracle数据库的为例:

 

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

 

java代码:
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:

 

java代码:
<select id="proHello" statementType="CALLABLE">
<![CDATA[
    {call pro_hello (#{p_user_name,mode=IN,jdbcType=VARCHAR},#{result,mode=OUT,jdbcType=VARCHAR})}
]]>
</select>


 

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

 

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<String, String> param = new HashMap<String, String>();
                 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代码,控制台输出结果如下:

 

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

 

 

感谢 iteye  chenjc_it

精品视频课程推荐

Java Web开发理论部分视频教程
系统掌握开发实际的Java Web应用所需的理论知识和技能(Servlet、Jsp、JavaBean、TagLib、EL、JSTL、MVC模式、连接池DataSource、JNDI等知识)。涉及项目:在线投票计数、在线人数统计、登录检查、购物车、商品管理、非法字符替换等多个随堂演示小应用。

研磨设计模式——跟着cc学设计系列视频教程
本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制 课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力 技术要点:如何实现可配置、如何实现缓存以及缓存的管理、如何实现用缓存来控制多实例的创建、如何实现参数化工厂、 如何实现可扩展工厂、如何实现原型管理器、如何实现Java的静态代理和动态代理、如何实现多线程处理队列请求、 如何实现命令的参数化配置、可撤销的操作、宏命令、队列请求和日志请求、如何实现翻页迭代、如何检测环状结构、 如何实现通用的增删改查、如何模拟工作流来处理流程、如何实现简单又通用的XML读取、如何实现模拟AOP的功能......

log4j&slf4j基础实战视频教程
学习在java项目中使用log4j、jdk自带的日志框架和slf4j

Javascript基础视频教程
JavaScript的内置对象--Array、String、Date、Math等,可以通过DOM对象进行对象控制,创建控制菜单及复选框的控制,创建二级联动列表框及列表框选项的移动,JavaScript项目,创建基于JS的商品管理系统。

XML基础视频教程
创建规范的XML文档,DTD的作用,并且可以根据要求创建私用的DTD,通过JavaScript解析XML DOM

浏览(102323)|评论(0)   交流分类:Java|笔记分类: Mybaits

评论(0)
请登录后评论 登录

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网