ステートメントデータベース操作:
CRUD:のexecuteUpdate()を使用して、
クエリ:使用のexecuteQuery()。
ResultSetの:XXX SELECT * FROM保存結果セット
次の():下向きのカーソルは、次のデータかどうかを判断し、真/偽の
前():真/偽に
のgetXXX(フィールド名|位置):特定のフィールド値を取得します。
パッケージJDBC、 インポートのjava.sql.Connection; インポートのjava.sql.DriverManager。 インポートのjava.sql.ResultSet; 輸入ます。java.sql.SQLException; 輸入java.sql.Statementの; パブリック クラスJDBCDemo { 民間 最終文字列のURL = "はjdbc:mysqlの:// localhostを:3306 / javaのuseSslオプション= falseの?" 。 民間 最終文字列USERNAMEは「root」を= 。 民間 最終文字列PASSWORD = "123456" ; 公共 ボイド更新(){ // 实现增删改 接続の接続= NULL; ステートメントSTMT = NULL ; 試み{ // Aが導入駆動。 ザにClass.forName( "はcom.mysql.jdbc.Driverを" ); // 。Bは、データベースへの接続を確立する 接続= たDriverManager.getConnection(URL、ユーザ名、パスワード)。 // 。C伝送SQL、追加および削除が行われ、チェック のstmt = Connection.createStatement(); // 文字列のSQL = "INSERT INTO帳(名前,.価格)の値( '小説'、50)"; // 文字列= SQL "更新ブックセット名=「の科学」上記のID = 17「; 文字列のSQL =」ブックWHERE上記のID = 19 "から削除。 //D执行SQL语句。 stmt.executeUpdate(SQL)。 } キャッチ(例外e){ // TODO自動生成されたcatchブロック e.printStackTrace(); } 最後に{ しようと{ 場合(stmtは=!ヌルをstmt.closeを()); もし(!接続= nullの)connection.close(); } キャッチ(のSQLException E){ e.printStackTrace(); } } } 公共 ボイドクエリ(){ // 实现查询 接続=接続NULL ; ステートメントSTMT = NULL ; ResultSetのRS = NULL ; 試み{ // Aが導入駆動。 ザにClass.forName( "はcom.mysql.jdbc.Driverを" ); // 。Bは、データベースへの接続を確立 接続= のDriverManagerを。 getConnection(USERNAMEのURL、パスワード); // チェックし、SQL、追加および削除を実行するために送っcは。 stmtは= Connection.createStatement(); 文字列のSQL = "SELECTからブック*" ; //SQL実行[CRUDのexecuteUpdate()、クエリのexecuteQuery()] RS = stmt.executeQuery(SQL); // プロセスが生じる 一方(rs.nextを()){ // 次の行のデータがあるか否かを判定する 文字列NAが= rs.getString ( "名前" ); 文字列PRI = rs.getString( "価格" ) のSystem.out.printlnし(Na + " - " + PRI); } } キャッチ(例外e){ // TODO自動ブロックキャッチ生成 e.printStackTrace(); } 最後に{ 試み{ IF(!RS = ヌル)rs.close(); もし(!のstmt = nullの)stmt.close(); もし(!接続= nullの)connection.close(); } キャッチ(のSQLException E){ e.printStackTrace(); } } } パブリック 静的 ボイドメイン(文字列[]引数){ JDBCDemo J = 新しいJDBCDemo()。 // j.update(); j.query(); } }
データベースのPreparedStatementの操作:
パブリックインターフェースのPreparedStatementは、Statementを拡張
よって
のexecuteUpdate():CRUD
クエリ:のexecuteQuery();
-さらに、
割り当てのsetXXXを();
パッケージJDBC、 インポートのjava.sql.Connection; インポートのjava.sql.DriverManager。 インポートのjava.sql.PreparedStatement; インポートのjava.sql.ResultSet; 輸入ます。java.sql.SQLException; パブリック クラスJDBCPreparedStatement { 民間 最終文字列のURL = "はjdbc:mysqlの:// localhostを:3306 / javaのuseSslオプション= falseの?" 。 民間 最終文字列USERNAMEは「root」を= 。 民間 最終文字列PASSWORD = "123456" ; 公共 ボイド更新(){ // 实现增删改 接続の接続=NULL ; のPreparedStatementてpstmt = NULL ; 試み{ // A駆動導入。 Class.forNameの( "はcom.mysql.jdbc.Driverを" ); // 。Bは、データベースへの接続を確立する 接続= たDriverManager.getConnection(URL、ユーザ名、パスワード) ; // 。チェック、実行するSQL、追加、削除を送信cは 文字列のSQL = "INSERT INTOブック値(,, ???)" ; てpstmt = のConnection.prepareStatement(SQL); pstmt.setString( 1、 "隣の" ); pstmt.setString( 2、 "56は")。 pstmt.setInt(3、21 )。 // 文字列のSQL = "ブックへの挿入(名、価格)の値( '小说'、50)"。 // 文字列のSQL = "更新ブックセット名= '科学'どこのid = 17"; pstmt.executeUpdate(); } キャッチ(例外e){ // TODO自動生成されたcatchブロック e.printStackTrace(); } 最後に{ しようと{ 場合(てpstmt =!ヌルをpstmt.closeを()); もし(!接続= nullの)connection.close(); } キャッチ(のSQLException e)の{ e.printStackTrace(); } } } 公共 ボイドクエリ(){ 接続の接続 = NULL ; のPreparedStatementてpstmt = NULL ; ResultSetのRS = NULL ; 試み{ // A駆動導入。 ザにClass.forName(「COM。 mysql.jdbc.Driver " ); // Bは、データベースへの接続の確立。 接続= たDriverManager.getConnection(URL、ユーザ名、パスワード); // C伝送SQL、付加および欠失を行う、検索。 SQL = "上記ID = SELECT *帳から?"の文字列; てpstmt = のConnection.prepareStatement(SQL); pstmt.setInt( 1、21 ); // 実行SQL [CRUDのexecuteUpdate()、クエリのexecuteQuery()] RS = pstmt.executeQuery(); // プロセスが生じる 一方(rs.nextは()){ //は、次の行のデータが存在するか否かを判定する 文字列NA = rs.getString( "名前"が); 文字列PRI = rs.getString( "価格" ) ; のSystem.out.printlnし(Na + " - " + PRI); } } キャッチ(例外e){ // TODO自動生成されたcatchブロック e.printStackTrace(); } 最後に{ しようと{ 場合(RS =!ヌル)rs.close(); もし(!てpstmt = ヌル)pstmt.close(); もし(!接続= nullの)connection.close(); } キャッチ(のSQLException E){ e.printStackTrace(); } } } 公共の 静的な 無効メイン(文字列[]引数){ JDBCPreparedStatement J = 新しいJDBCPreparedStatement(); / * j.update()。* / j.query(); } }
PreparedStatementとの使用の違いの声明:
:ステートメントの
1、定義されたSQL
文字列のSQL = "ブックへの挿入(名、価格)の値( '小说'、50)"。
2、stmt.executeUpdate(SQL)。
PreparedStatementの:
1、SQL定義
文字列のSQL = "ブックへの挿入(名、価格)の値(?、?、?)";
pstmt =のConnection.prepareStatement(SQL); //预编译SQL
pstmt.setString(1、 "隔壁" )。
pstmt.setString(2、 "56" )。
pstmt.setInt(3、21 )。
2、pstmt.executeUpdate()。