博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdbc,hibernate,mybatis调用存储过程
阅读量:6858 次
发布时间:2019-06-26

本文共 2212 字,大约阅读时间需要 7 分钟。

hot3.png

创建存储过程:

**CREATE  PROCEDURE  productpricing(P_ID IN VARCHAR2,P_COUNT OUT NUMBER)           BEGIN            SELECT Count(prod_num)  AS P_COUNT             WHERE prod_id =P_ID           FROM products;           END;**

============================ jdbc调用:

/** 括号中的问号和存储过程参数进行匹配*/String sql = "{call productpricing(?,?)}";// 加载驱动程序Class.forName("oracle.jdbc.driver.OracleDriver");// 获取连接对象Connection con = DriverManager.getConnection(url, uid, pwd);// 获取执行对象CallableStatement cs = con.prepareCall(sql);cs.setString(1, "1a2b");  // out 注册的index 和取值时要对应  cs.registerOutParameter(2, Types.INTEGER);  // 执行SQL命令cs.execute();

=============================== hibernate:

public Integer method(){           return (Integer) this.getHibernateTemplate().execute(new HibernateCallback(){               public Object doInHibernate(Session session){                       Connection conn = session.connection();                         String sql ="{call productpricing(?,?)}";                         CallableStatement cs;                        Integer result=0;                       try {                           cs= conn.prepareCall(sql);                            cs.setString(1, "1a2b");                            cs.registerOutParameter(2,Types.INTEGER);                            boolean rs= cs.execute();                             tttrs=(Integer)cs.getInt(2);                       } catch (SQLException e) {                           System.out.println("sql异常:"+e.getMessage());                       }                         return result;               }           });             }

================== mybatis: 编辑Mapper.xml文件,添加如下的配置项

     

调用:

SqlSession sqlSession = MyBatisUtil.getSqlSession();String statement = "me.gacl.mapping.userMapper.getCount";//映射sql的标识字符串 Map
parameterMap = new HashMap
(); parameterMap.put("p_id", "1a2b"); parameterMap.put("pcount", 0); sqlSession.selectOne(statement, parameterMap); Integer result = parameterMap.get("usercount"); System.out.println(result); sqlSession.close();

转载于:https://my.oschina.net/WWWW23223/blog/678540

你可能感兴趣的文章
Python全栈开发day9
查看>>
算法笔记 --- Insertion Sort
查看>>
子父表
查看>>
CUDA npp运动检测模块性能测试
查看>>
前端单点登录(SSO)实现方法(二级域名与主域名)
查看>>
extjs客户端与ABP框架的服务端数据交互杂记
查看>>
kali linux fuzz工具集简述
查看>>
微信小程序云开发不完全指北
查看>>
《构建之法》阅读笔记二
查看>>
20165324 前四周总结反思
查看>>
11.11评价
查看>>
第一章--第一节:环境搭建
查看>>
hdu 2665 划分树
查看>>
hdu 4251 划分树
查看>>
poj 1704 Georgia and Bob(阶梯博弈)
查看>>
JQuery中的$.ajax()
查看>>
js 幻灯片
查看>>
Keras序列模型学习
查看>>
[bzoj2809] 派遣
查看>>
Flask 第四篇 Flask 中的模板语言 Jinja2 及 render_template 的深度用法
查看>>