CallableStatement的入门

package com.zhao.practice726_3;java

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

/**
 * DBCallableStatement类
 * @author 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();
  }
 }
 /**
  * 获取数据库链接
  * @return
  */
 private Connection getConnection(){
  try {
   
   conn = DriverManager.getConnection(dbURL, USER, PASSWORD);数据库

   return conn;
  } catch (SQLException e) {
   
   e.printStackTrace();
  }
  return null;
 }
 /**
  * 得到CallableStatement对象
  * @param sql sql语句
  * @return 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;sqlserver

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;测试


/**
 * 测试类
 * @author Administrator
 *
 */
public class TestCallableStatement {.net

 /**
  * @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();
  }
  
 }server

}
对象

相关文章
相关标签/搜索