-
接続
まず、Class.forNameで、ドライバをロードします。次に、DriverManager.getConnection で、サーバーのホスト名、データベース名(ここでは myname)、利用者名、パスワードを指定して、サーバーに接続します。(ソースにpasswordを記述するのが問題)。
try{
Class.forName("com.mysql.jdbc.Driver");
String strConn="jdbc:mysql://localhost/myname"+"?user=root&password=";
Connection conn =DriverManager.getConnection(strConn);
if (conn != null) System.out.println("connected");
}
ここで、
mySQLサーバーが起動していること
データベース(myname)が作成されていること
root以外で利用者で接続する場合、利用者にアクセス権限が委譲(GRANT コマンド)されていること
が必要です。
-
検索
conn.createStatement でSQLの文を記録するインスタンスを作成し、これにmySQL用のコマンドを指定して、stmt.executeQuery で実行します。サーバーからの応答は ResultSet として取得できます。ここでは、
SELECT * from person
で、テーブル person のすべての項目を取り出します。
イテレータ rs.next でレコードを取り出し、rs.getInt や rs.getString で数字や文字列を取得します。
try{
Statement stmt=conn.createStatement();
String strSql="SELECT * from person";
ResultSet rs=stmt.executeQuery(strSql);
while(rs.next()){
System.out.println(rs.getInt("id")+":"+rs.getString("name"));
}
-
データの挿入、更新
データを挿入するには 、次のように実行します
strSql="INSERT INTO person(name) values ('kondo');
stmt.executeUpdate(strSql)
id=5 のデータを更新の場合は
strSql="UPDATE person SET name='saito' where id=5;
stmt.executeUpdate(strSql)
とします。
-
後処理
処理が終了したら、close でオブジェクトを解放します。
rs.close();
stmt.close();
conn.close();