◆JDBCとは?
JDBCとはJavaからデータベースにアクセスするためのAPIです。JDBCのAPIを使用してJavaのプログラムからデータベースにSQL文を発行してデータベースのデータの操作を行うことができます。
◆データベースとは?
データベースとはデータの集まりのことです。たくさんのデータを整理、分類して管理することによってユーザーが必要なデータを簡単に検索して取り出したり、またデータを追加、更新したりできるようになります。
◆トランザクションとは?
トランザクションとはデータベースの一連の更新処理(INSERT,UPDATE,DELETE)のことです。トランザクションを開始(begin)して、トランザクション内である更新処理をした時点ではデータベースにその更新は反映されません。トランザクション(一連の更新処理)が終了しcommitしてはじめてデータベースに一連の更新処理が反映されます。また、トランザクション内でエラーが発生した場合、,rollbackすることでそこまでの処理を取り消すことができます。
◆データソースとは?
データソース(DataSource)とはプログラムとデータベースへの接続との間のインターフェースで、データベースへの接続を取得するために使用されます。JDBC 2.0から使用できるようになりました。データソース(DataSource)を取得するには通常JNDIを使用します。データベースのドライバやURLの情報は外部の設定ファイルにもち、プログラム上ではデータソース名だけを使用してデータソース(DataSource)を取得します。そのため、他のサーバーへ移動した場合やデータベースが変わった場合でもコードを変更しなくてすむメリットがあります。また、データソース(DataSource)を使用することによってコネクションプーリングや分散トランザクションを行うことができるようになります。
◆DriverManagerとDataSource
Javaでデータベースに接続する方法は2種類あります。従来から使用されているDriverManagerを使った方法とJDBC 2.0から使用できるようになったDataSourceを使った方法の2つです。
■DriverManagerを使った方法
Class.forName("org.gjt.mm.mysql.Driver");
String url = "jdbc:mysql:///hellodb?useUnicode=true&characterEncoding=SJIS";
Connection con = DriverManager.getConnection(url);
■DataSourceを使った方法
InitialContext ic = new InitialContext();
DataSource ds = (DataSource)ic.lookup("java:comp/env/jdbc/MySQL");
Connection con = ds.getConnection();
取得できるのはどちらも同じConnectionオブジェクトです。DriverManagerも従来通り使用できますが、JNDIサービスが動いていてDataSourceを使用できる環境ではDataSourceを使用してデータベースに接続することが推奨されています。また、J2EE環境ではDataSourceを使用することになっています。
参照:
http://www.hellohiro.com/jdbc.htm
http://www.hellohiro.com/datasource.htm
http://www.hellohiro.com/jdbcmysql.htm
http://www.hellohiro.com/jdbcpostgresql.htm
http://www.hellohiro.com/jdbctransaction.htm
没有评论:
发表评论