博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CallableStatement的入门
阅读量:6620 次
发布时间:2019-06-25

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

hot3.png

package com.zhao.practice726_3;

import java.sql.CallableStatement;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**

 * DBCallableStatement类
 * Administrator
 *
 */
public class DBCallableStatement {
 /**
  * 驱动字符串
  */
 private static final String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; // 加载JDBC驱动
 /**
  * 连接数据库的URL
  */
 private static final String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=zhao726"; // 连接服务器和数据库Northwind
 /**
  * 用户名字符串
  */
 private static final String USER= "sa";
 /**
  * 密码字符串
  */
 private static final String PASSWORD = "3221682";
 /**
  * 数据库连接
  */
 Connection conn = null;
 /**
  * CallableStatement
  */
 CallableStatement stat = null;
 
 static {
  try {
   Class.forName(driverName);
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
 /**
  * 获取数据库连接
  *
  */
 private Connection getConnection(){
  try {
   
   conn = DriverManager.getConnection(dbURL, USER, PASSWORD);

   return conn;

  } catch (SQLException e) {
   
   e.printStackTrace();
  }
  return null;
 }
 /**
  * 获得CallableStatement对象
  * @param sql sql语句
  * CallableStatement
  */
 public CallableStatement getPreparedStatement(String sql){
  try {
   stat = getConnection().prepareCall(sql);
   System.out.println(sql);
   return stat;
  } catch (SQLException e) {
   
   e.printStackTrace();
  }
  return null;
 }
 
 
 /**
  * 关闭所有打开的数据库连接
  */
 public void close(){
  try{
   if(stat != null){
    stat.close();
   }
   if(conn != null){
    conn.close();
   }
  }catch(SQLException e){
   e.printStackTrace();
  }
 }
}

 

package com.zhao.practice726_3;

import java.sql.CallableStatement;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;

/**
 * 测试类
 * Administrator
 *
 */
public class TestCallableStatement {

 /**

  * @param args
  */
 public static void main(String[] args) {
  String sql = "{call sp_sum(?,?,?)}";
  DBCallableStatement db = new DBCallableStatement();
  //获得CallableStatement对象
  CallableStatement stat = db.getPreparedStatement(sql);
  
  try {
   //设置参数
   stat.setInt(1, 4);
   stat.setInt(2, 5);
   //注册第三个参数为int类型
   stat.registerOutParameter(3, Types.INTEGER);
   
   if(!stat.execute()){
    System.out.println(stat.getInt(3));
   
   }
  
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   db.close();
  }
  
 }

}

转载于:https://my.oschina.net/u/586106/blog/69253

你可能感兴趣的文章
随意写了个数字MD5解密工具
查看>>
WPF 渲染级别 (Tier)
查看>>
JS隐形数据类型转换注意事项
查看>>
java===java基础学习(14)---封装
查看>>
程序员之痛:几千行代码能搞定的为什么要写几万行?
查看>>
约瑟夫问题及其实现代码
查看>>
团队项目的质量保障
查看>>
Bootstrap3 栅格系统-嵌套列
查看>>
CMS之图片管理(1)
查看>>
精通mysql之精通EXPLAIN
查看>>
Yii2 模板布局使用
查看>>
linux常用命令大全
查看>>
使用JScript编译指定目录下所有工程
查看>>
CodeBlocks生成指定的库文件名
查看>>
事务的ACID特性
查看>>
php上传不到文件(Linux 服务器)
查看>>
将Vuforia程序发布到Windows10系统的基本流程
查看>>
centos7.2 环境下 mysql-5.1.73 安装配置
查看>>
在w3cschool学完html,css,javascript,jquery以后,还是不会做前端怎么办?
查看>>
二分查找
查看>>