研修の中でJDBCに関して学びましたが、わかりにくくかつ覚えることが多いように感じたのでまとめてみました。
パッケージのインポート
import java.sql.Connection; //DB接続のためのインタフェース
import java.sql.DriverManager; //ドライバのロード
import java.sql.PreparedStatement;//プリペアードステートメント(SQL文をコンパイルするやつ)
import java.sql.ResultSet;//SELECT文を実行した際取得するデータの型
import java.sql.SQLException;//例外
JDBCドライバのロード
Class.forName("ドライバの名前");
DBMS | ドライバクラスのFQCN |
---|---|
OracleDatabase | Oracle.jdbc.driver.OracleDriver |
Db2 | com.ibm.db2.jcc.DB2Driver |
SQL Server | com.microsoft.sqlserver.jdbc,SQLSeverDriver |
MySQL | com.mysql.jdbc.Driver |
MariaDB | org.mariadb.jdbc.Driver |
PostgreSQL | org.postgresql.Driver |
SQLite | org.sqlite.JDBC |
H2 Datebase | org.h2.Driver |
DB接続
Connection conn
=DriverManeger.getConnection("データベースのURL","ログインID","パスワード");
プリペアドステートメント
PreparedStatment pstmt=conn.prepareStatement("SQL文");
//SQL文にプレースホルダ(?)があった場合
pstmt.setString("n番目の数","入れる文字列");
SQL文がSELECT文だった場合
ResultSet rset =pstmt.executeQuery();//実行
rset.getString("データベースの列名"); //文字列の値を取得
SQL文がDDL文およびDML文だった場合
pstmt.executeUpdate();//実行