JDBC学習記録
2887 ワード
JDBC接続データベース
1.ドライバのロード
2.接続オブジェクトの作成
3.sql文実行オブジェクトの作成 Statementクラス 分:Statement,PreparedStatement,CallableStatement Stmt実行オブジェクト
4.sql文の実行
Statementの利用
クエリー・データベースのSQL文を実行し、結果セット(ResultSet)オブジェクトを返します.
INSERT、UPDATEまたはDELETE文、およびSQL DDL文の実行に使用されます.たとえば、CREATE TABLEやDROP TABLEなどです.
複数の結果セット、複数の更新カウント、または両方の組合せを返す文を実行します.
5.実行結果の処理 ResultSetクラスのメソッド Num
方法
説明
1
byte getByte(int columnIndex)
指定したフィールドのバイト値を返します.
2
Date getDate(int columnIndex)
指定したフィールドの日付値を返します.
3
Float getFloat(int columnIndex)
指定したフィールドの浮動小数点値を返します
4
int getInt(int columnIndex)
指定したフィールドの整数値を返します.
5
String getString(int columnIndex)
指定したフィールドの文字列値を返します.
6
double getDouble(String columnName)
指定したフィールドの二重精度値を返します.
7
long getLong(String columnName)
指定したフィールドのlong型整数値を返します
8
boolean next()
次のフィールドがあるかどうかを返します
6.関連する接続オブジェクトを閉じる実行オブジェクト、結果オブジェクト、接続オブジェクトを閉じる必要があります.(順序は宣言の順序とは逆) 6.補足:PrepareStatement PrepareStatementは、事前にコンパイルされたSQL文 を表すStatementのサブクラスです. PreparedStatementオブジェクトが表すSQL文のパラメータは疑問符(?) を表す Statementに対する性能向上:prepareStatementはSQLを初期化し、まずこのSQLをデータベースに提出して前処理を行い、複数回使用すると効率が向上する 使用法:更新文
クエリ文
文の削除
1.ドライバのロード
Class.forName(driver);
driver = “com.MySQL.jdbc.Driver”
2.接続オブジェクトの作成
String url = "jdbc:mysql://localhost:3306/test";//url test
Connection con = DriverManager.getConnection(url,username,password);
3.sql文実行オブジェクトの作成
Statement st = con.createStatement();//sql
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql);
CallableStatement cstmt = con.prepareCall(“{CALL demoSp(? , ?)}”) ;
ResultSet rs = st.executeQuery(sql);// sql
4.sql文の実行
Statementの利用
ResultSet executeQuery(String sqlString)
クエリー・データベースのSQL文を実行し、結果セット(ResultSet)オブジェクトを返します.
int executeUpdate(String sqlString)
INSERT、UPDATEまたはDELETE文、およびSQL DDL文の実行に使用されます.たとえば、CREATE TABLEやDROP TABLEなどです.
execute(sqlString)
複数の結果セット、複数の更新カウント、または両方の組合せを返す文を実行します.
5.実行結果の処理
方法
説明
1
byte getByte(int columnIndex)
指定したフィールドのバイト値を返します.
2
Date getDate(int columnIndex)
指定したフィールドの日付値を返します.
3
Float getFloat(int columnIndex)
指定したフィールドの浮動小数点値を返します
4
int getInt(int columnIndex)
指定したフィールドの整数値を返します.
5
String getString(int columnIndex)
指定したフィールドの文字列値を返します.
6
double getDouble(String columnName)
指定したフィールドの二重精度値を返します.
7
long getLong(String columnName)
指定したフィールドのlong型整数値を返します
8
boolean next()
次のフィールドがあるかどうかを返します
System.out.println(“username: “+rs.getString(1));//
System.out.println(“useradd: “+rs.getString(“useradd”));//
System.out.println(“userage: “+rs.getInt(“userage”));
6.関連する接続オブジェクトを閉じる
con.close();// :con
PreparedStatement updateSales = con.prepareStatement("UPDATE COFFEES SET SALES = ? WHERE COF_NAME LIKE ? ");
updateSales.setInt(1, 75);
updateSales.setString(2, "Colombian");
updateSales.executeUpdate();
クエリ文
PreparedStatement pre = con.prepareStatement("SELECT * FROM XXXX WHERE XX = ?");
pre.setInt(1,xx);
ResultSet rt = pre.executeQuery();
文の削除
PreparedStatement pstmt = con.prepareStatement("DELETE XXXXXXX");
pstmt.execute();