JDBC APIを使用すると、ユーザーはあらゆる形式のテーブルデータ、特に関係データベースに保存されているデータにアクセスできます。
実行プロセス:
•データベースなどのデータソースを接続します。
•データベースパスの問い合わせと更新手順。
•データベースの応答と返品の結果。
JDBCアーキテクチャ
ダブルレイヤーアーキテクチャと3層アーキテクチャに分かれています。
ダブルレイヤー
機能:このアーキテクチャでは、Javaアプレットまたはアプリはデータソースに直接アクセスします。
条件:ドライバーは、アクセス可能なデータベースと対話する必要があります。
メカニズム:ユーザーコマンドはデータベースまたは他のデータソースに渡され、結果が返されます。
展開:データソースは、C/S構成と呼ばれる別のマシンのネットワークを介して接続できます(内部ネットワークまたはインターネットにすることができます)。
3層
サイドアーキテクチャの特別な特徴は、中間サービスが導入されることです。
プロセス:コマンドと構造はこのレイヤーを通過します。
アトラクション:企業データのアクセス制御と、さまざまなタイプの更新を増やすことができます。
歴史的傾向:過去には、パフォーマンスの問題により、中間層はC ++で記述されていました(Java Bytecodeを高効率固有のマシンコードに変換)。 Javaは中間に使用され始めました。レイヤーの開発は、Javaをサーバーコード言語として使用することの利点にもなりました。
JDBCプログラミング手順
ドライバーをロードします:
class.forname(driverclass)// load mysql driver class.forname( "com.mysql.jdbc。driver")// olacle drive class.forname( "oracle.jdbc.oracledriver" Cure
データベース接続を取得します:
次のようにコードコードをコピーします。
drivermanager.getConnection( "jdbc:mysql://127.0.0.1:3306/imooc"、 "root"、 "root");
ステートメント/準備オブジェクトを作成します。
次のようにコードコードをコピーします。
conn.createStatement();
const.preparestatement(SQL);
完全なインスタンス
java.sql.drivermanagerをインポートします。 "; public static final string user =" liulx "; public static final string password =" 123456 "; public static void main(string [] args)throws Exception { / / / / 1。ドライバーclass.fornameを読み込む(" com( "com) .mysql .jdbc.driver "); // 2。データベース接続を取得する接続を取得conn = drivermanager.getConnection(url、user、password); // 3。データベースを操作して追加、削除、ステートメントSTMT = connを確認する.createStatemet(); rs = stmt.executequery( "select user_name、age from imoc_goddess"); .println(rs.getStringString( "user_name")+"age:"+rs.getint( "age");}}}}
追加、削除、および変更
パブリッククラスdbutil {jdbc:mysql:// localhost "" final string "; Driver class.forname( "com.mysql.jdbc.driver"); ();} catch(sqlextrace();}} public static connect()}} //パッケージliulx.model; integer IDゲッターセッターメソッド。エッセンスエッセンス} // --------- DAO层--------------パッケージliulx.dao; import liulx.db.dbutil; import liulx.model.goddess; import java。 sql.sql.sql.sql.sql.Statement; addgoddess(女神G)はsqlexceptionをスローします{// get connect connect conn = dbutil.getConnection(); " +" values( " +"?、?、?、?、?、?、?、?、current_date()、?、current_date() "; preperestatement(sql); // pre -compilation sql to to to sql実行// ptmt.setstring(1、g.getuser_name()); ; ptmt.setdate(g.getbirthday()。 ); Ptmt.SetsString(8、g.getisdel(); // permt.execute();} = dbutil.getConnection(); +"update_user =?、update_date = current_date()、isdel =?"+"preparestatement(sql); .getuser_name(); (8、g.getisdel()); ; // SQLは、SQLを削減するためにSQLを追加します。パブリックリスト<goddess> connect conn = dbutil.getConnection(); ); g = next(){g.setuser_name( "user_name"); .add(g);} gs;} got(){null; conn.preparestatement(SQL); .setId(rs.getint( "id"); g.setuser_name(rs.getString( "user_name"); g.setage(rs.getint( "age")); seetsex(rs.getint( "sex"); g.setbirthday(rs.getDate( "Birthind"); g.setemail(rs.getString( "Email"); g.setMobile(rs。GetString( "Mobile"); g.setCreate_Date(rs.GetDate)( "Create_Date") ); g.setcreate_user(rs.getString( "create_user"); pdate_date ")); g.setupdate_user(rs.getString(" update_user "); g.setisdel(rs.getint(" isdel ");} return g; }}