JDBCを使用してデータベースに接続し、ストアド・プロシージャを呼び出し、SQL文を実行します.

2736 ワード

JDBC呼び出しデータベース:
package com.hthk.iisz.util;

import java.sql.Connection;
import java.sql.DriverManager;

public class SqlServerConnectionzUtil {
 public static Connection getConnection() {
  String driverName = "oracle.jdbc.driver.OracleDriver";
  String dbURL = "jdbc:oracle:thin:@172.25.15.139:1526:atomsu";
  String userName = "atoms";
  String userPwd = "abc123";
  Connection dbConn = null;
  try {
   Class.forName(driverName);
   dbConn = DriverManager.getConnection(dbURL, userName, userPwd);
   System.out.println("       ");
   return dbConn;
  } catch (Exception e) {
   e.printStackTrace();
   System.out.print("    ");
  }
  return dbConn;
 }
}

データベースに接続した後、ストレージ・プロシージャを呼び出し、SQL文を実行します.
package com.hthk.iisz.dao;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Types;

import com.hthk.iisz.util.SqlServerConnectionzUtil;

public class TcnConnectDatabaseDao {

 Connection conn;
 PreparedStatement stmt;
 ResultSet rs;

 public int getConnection(String id, String phone) throws SQLException {
  try {
   Connection conn = SqlServerConnectionzUtil.getConnection();//   jdbc
                  // Connection
   CallableStatement cstmt = conn
     .prepareCall("{call  mytv_super_pkg.CHECK_STATUS(?,?,?)}");//       
   cstmt.setString(1, id);// in  
   cstmt.setString(2, phone);// in  
   System.out.println(id+"--------"+phone);
   cstmt.registerOutParameter(3, Types.INTEGER);// out  
   cstmt.execute();
   return cstmt.getInt(3);//   3   out 
  } catch (SQLException e) {
   e.printStackTrace();
   return 0;
  }
 }

 public String getExpiryDate(String id) throws SQLException {
  try {
   Connection conn = SqlServerConnectionzUtil.getConnection();//   jdbc
                  // Connection
   Statement stmt = conn.createStatement();
   ResultSet rs = stmt
     .executeQuery("select expiry_date from mytv_super_offer where random_id="
       + id);//   SQL  
   while (rs.next()) {
    return rs.getString("expiry_date");
   }
  } catch (SQLException e) {
   e.printStackTrace();
   return null;
  } finally {
   //      ,        ,    
   try {
    if (rs != null) {
     //   rs     null  ,         SQL  ,         
     rs.close();
    }
    if (stmt != null) {
     //   stmt     null  ,         SQL  ,         
     stmt.close();
    }
    if (conn != null) {
     //   conn     null  ,         SQL  ,         
     conn.close();
    }
   } catch (SQLException se) {
    se.printStackTrace();
   }
  }
  return null;
 }
}