1、JDBC调用存储过程: CallableStatement

/**
*p是要调用的存储过程的名字,存储过程的4个参数,用4个?号占位符代替
*其余地方写法固定
*/
CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}");
/**
*告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定
*下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的
*Types后面具体写什么类型,得看你的存储过程参数怎么定义的
*/
cstmt.registerOutParameter(3, Types.INTEGER);
cstmt.registerOutParameter(4, Types.INTEGER);
/**
*在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出
*下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5
*没设第3个,因为它是输出参数
*/
cstmt.setInt(1, 3);
cstmt.setInt(2, 4);
cstmt.setInt(4, 5);
//执行
cstmt.execute();
//把第3个参数的值当成int类型拿出来
int three = cstmt.getInt(3);
System.out.println(three);
//把第4个参数的值当成int类型拿出来
int four = cstmt.getInt(4);
System.out.println(four);
//用完别忘给人家关了,后开的先关
cstmt.close();
conn.close();

2、JdbcTemplate()调用存储过程

getJdbcTemplate().execute(new ConnectionCallback() {
@Override
public Object doInConnection(Connection con) throws SQLException,
DataAccessException {
CallableStatement prepareCall = con.prepareCall("{call update "
+ "(?)}");
prepareCall.setString(1, num);
prepareCall.execute();
return null;
} });

最新文章

  1. 淘宝(阿里百川)手机客户端开发日记第十四篇 jsp提交含有上传控件表单乱码问题
  2. linux下打包文件或文件夹
  3. lua module环境探秘
  4. mysql学习笔记 第八天
  5. sqlserver 行转列 语文,数学,物理,化学
  6. Struts2_使用 Filter 作为控制器的 MVC 应用
  7. HDOJ 1856 More is better
  8. IIS发布报错
  9. 【windows核心编程】线程局部存储TLS
  10. Objective-c 数据类型
  11. SPOJ PGCD(莫比乌斯反演)
  12. 基于 socket.io, 简单实现多平台类似你猜我画 socket 数据传输
  13. sns社交系统ThinkSNS+ 更新至V0.8.2,新增圈子功能
  14. CSS3动画效果之transition
  15. 高通QCC3026蓝牙音频芯片处理器介绍
  16. pythonのdjango 信号
  17. Android为TV端助力 集成第三方播放器,实现全屏播放
  18. NLog类库使用探索——详解配置
  19. jupyter 快捷键
  20. 创建表时,主键 USING BTREE、USING HASH 的含义(待补充)

热门文章

  1. Get和Post区别,EncType提交数据的格式详解——转自他人博客的
  2. linux程序分析工具介绍(一)—-”/proc”
  3. 错误提示”void is an invalid type for the variable“
  4. 将BufferedImage转换为InputStream,亲测可用
  5. PHP迭代器 Iterator
  6. Jquery 全局错误处理
  7. appium (五)desired_caps参数
  8. Azure 进阶攻略 | 上云后的系统,「门禁」制度又该如何实现?
  9. SQL:获取语句执行时间2
  10. framework7滑动删除列表触发chrome 报错解决办法