- PR -

DBへのコネクションの確立

投稿者投稿内容
オガシン
常連さん
会議室デビュー日: 2006/05/23
投稿数: 31
投稿日時: 2006-06-01 10:05
おはようございます.
先日はお忙しい中,アドバイスを頂きありがとうございました.
このスレッドのやり取りで,色々分かってきました.これからも頑張っていきたいと思います.

さて,昨日言っていた通りソースを載せます.
一応体裁を整えたつもりです.(多少ずれてしまってますがご了承ください^^;)
なにか気づいた点があったら指摘してくださいm(__)m

コード:
import java.util.HashMap;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.apache.struts.action.ActionForm;


public final class IchiranActionForm extends ActionForm
{
	//変数の定義,getter,setterメソッドの設定
	private HashMap record = null;		// HashMap型のrecordマップを宣言
	private String softname;			// ソフトウェア名	(key = "SN")
	private String vername;			// Version			(key = "VN")
	private String makename;			// メーカー名		(key = "MN")
	private String license;			// ライセンス数		(key = "LN")
	private String limit;				// 有効期限			(key = "YN")
	private String delete;				// Deleteフラグ		(key = "DE")
	
	public void setSoftname(String softname)	{ this.softname = softname; }	// ソフトウェア名の setter メソッド 
	public void setVername(String vername)		{ this.vername = vername; }		// Versionの setter メソッド
	public void setMakename(String makename)	{ this.makename = makename; }	// メーカー名の setter メソッド
	public void setLicense(String license)		{ this.license = license; }		// ライセンス数の setter メソッド
	public void setLimit(String limit)			{ this.limit = limit; }			// 有効期限の setter メソッド
	public void setDelete(String delete)		{ this.delete = delete; }		// Deleteフラグの setter メソッド
	
	public String getSoftname()		{ return softname; }	// ソフトウェア名の getter メソッド
	public String getVername()		{ return vername; }		// Versionの getter メソッド
	public String getMakename()		{ return makename; }	// メーカー名の getter メソッド
	public String getLicense()		{ return license; }		// ライセンス数の getter メソッド
	public String getLimit()		{ return limit; }		// 有効期限の getter メソッド
	public String getDelete()		{ return delete; }		// Deleteフラグの getter メソッド
	
	//DBへ接続,データの取得
	public IchiranActionForm()
	{ 
		
		// 使用変数の初期化
		Connection con = null;
		PreparedStatement stmt =null;
		ResultSet rs =null;
		String LU = "java:comp/env/jdbc/SOFTWARE_DB";
		String sql = "SELECT * FROM SOFTWARE_TBL WHERE ID=1";
		
		{
			try 
			{
				Context ctx = new InitialContext();			
				DataSource ds = (DataSource)ctx.lookup(LU);	// DataSourceの呼び出し
				con = ds.getConnection();					// DBへコネクト
				stmt = con.prepareStatement(sql);			// ステートメントオブジェクトを生成
				rs = stmt.executeQuery();					// クエリーを実行して結果セットを取得
				
				while(rs.next())
				{
					softname = rs.getString("NAME");			// テーブルの"NAME"を"softname"に代入
					vername  = rs.getString("VERSION");			// テーブルの"VERSION"を"vername"に代入
					makename = rs.getString("MAKER");			// テーブルの"MAKER"を"makename"に代入
					license  = rs.getString("LICENSE_NO");		// テーブルの"LICENSE_NO"を"license"に代入
					limit    = rs.getString("EXPIRATION_DATE");	// テーブルの"EXPIRATION_DATE"を"limit"に代入
					delete   = rs.getString("DELETE_FLAG");		// テーブルの"EXPIRATION_DATE"を"limit"に代入
				}
				
				record = new HashMap();
				record.put("SN",softname);			//ソフトウェア名をput
				record.put("VN",vername);			//Versionをput
				record.put("MN",makename);			//メーカー名をput
				record.put("LN",license);			//ライセンス名をput
				record.put("YN",limit);				//有効期限をput
				record.put("DE",delete);			//Deleteフラグをput		

				rs.close();			// DBへのアクセスをクローズ
				stmt.close();
				con.close();			
			}
		
				catch (Exception e)		//例外処理
				{
					e.printStackTrace();
				}
			
		}
	}
	
	//recordのgetterメソッド	
	public HashMap getMapData(){
		return record;
	}
}

スキルアップ/キャリアアップ(JOB@IT)