【Java】JDBC


Javaについて、復習しながら更新していきます。
今回のテーマはJDBC!!

JDBC

JDBCは、JavaのプログラムからDB(データベース)へのアクセスを行うために要されている仕組みのこと。パッケージとしては「java.sql.*」「javax.sql.*」が提供されています。DB接続 → SQL文実行 → DB切断 の流れで説明していきます。



事前準備
まず、事前準備としてDBごとに提供されているJDBCドライバを取得し使用するディレクトリ配下へ配置します。私の環境では、「Microsoft SQL Server 2014」を使用しているため、MSのサイトから取得し「.\bin」配下へ配置しました。配置したjarファイルを参照ライブラリへ追加します。(パッケージエクスプローラのビルドパス追加から実施)



・DB接続

配置したドライバをjavaプログラムから読み込むために、ドライバの有効化を行う処理を実施します。

[構文]
Class.forName(“JDBCドライバの完全名”).newInstance();

ドライバの有効化が完了したら、DBへの接続の確立を行います。

[構文]
Connection 変数名 = DriverManager.getConnection(JDBC URL,接続ユーザ,パスワード(DBインストール時に自身で設定したもの));



・SQL実行

SQL文を作成し、DBへSQL実行の命令を行います。

[構文]
///SQL文の作成 
PreparedStatement 変数名1 = コネクション名.prepareStatement(SQL文);

//作成したSQL文の実行
ResultSet 変数名2 = 変数名1.executeQuery();  //検索の場合
int 変数名3 = 変数名1.executeUpdate();  //更新の場合



・DB切断

DBの接続が必要なくなった場青は必ず接続の切断を実施します。

[構文]
コネクション変数名.close();


[例]
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


class Exe
{

	public static void main(String[] args)
	{
		//JDBCドライバの有効化
		try
		{
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
			System.out.println("ドライバを有効化しました。");
		}
		catch(ClassNotFoundException e)
		{
			System.out.println("ドライバの有効化に失敗しました。");
		}
		catch(Exception ex)
		{
			System.out.println(ex.getStackTrace());
		}

		//DBコネクション変数名
		Connection dbconenct = null;
		//DBURL
		String connecrPath = "jdbc:sqlserver://localhost\\SQLEXPRESS";
		//ユーザ名
		String user = "sa";
		//自身で指定したパスワード
		String pass = "**************";

		try
		{
			//DBへ接続
			dbconenct = DriverManager.getConnection(connecrPath,user,pass);

			if(dbconenct != null)
			{
				System.out.println("接続に成功しました。");
			}

			//SQL文の発行
			PreparedStatement pstmt = dbconenct.prepareStatement("SELECT  * FROM [TestDB].[dbo].[user]");

			//SQL検索文の実行
			ResultSet rs = pstmt.executeQuery();
		}
		catch(SQLException sqle)
		{
			sqle.printStackTrace();
		}
		catch(Exception e)
		{
			System.out.println(e.getStackTrace());
		}
		finally
		{
			try
			{
				//DB切断
				if(dbconenct != null)
				{
					dbconenct.close();
				}
			}
			catch(Exception e)
			{
				//処理なし
			}

		}
	}
}



以上。



【ブログを始めるなら】

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA