SQLiteは - Javaの
インストール
SQLiteのを使用する前に、Javaプログラムでは、マシンはSQLiteのJDBCドライバドライバとJavaを持っていることを確認する必要があります。 あなたのコンピュータ上でJavaをインストールする方法についてのJavaチュートリアルを表示することができます。 それでは、マシン上でSQLiteのJDBCドライバをインストールする方法を見てみましょう。
以下からのsqlite-JDBCのダウンロードライブラリの.jarのsqlite-JDBC-(VERSION)の最新バージョン。
あなたのクラスパスのjarファイルのsqlite-JDBC-(VERSION).jarで追加ダウンロード、または以下の実施例で説明する-classpathオプションでそれを使用しています。
前の学習知識の下部には、Java JDBCの概念の予備的な理解を持っている必要があります。 あなたはまだ、関連する知識を理解していない場合、あなたが知識の以下の説明を学ぶのを助けるJDBCのチュートリアルの下で、関連する知識を学習の最初の半分の時間を過ごすことをお勧めします。
データベースへの接続
次のJavaプログラムは、既存のデータベースに接続する方法を示しています。 データベースが存在しない場合、それが作成され、最終的に、データベース・オブジェクトを返します。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "データベースを正常にオープンしました"); } }
それでは、現在のディレクトリにある当社のデータベースtest.dbというを作成し、上記のプログラムをコンパイルして実行してみましょう。 必要に応じてパスを変更することができます。 私たちは、JDBCドライバ電流経路の次のバージョンは、sqliteの-JDBC-3.7.2.jar利用可能であることを前提としています。
$あるJavac SQLiteJDBC.java $のJava -classpath ":。Sqliteを-JDBC-3.7.2.jar」SQLiteJDBC データベースをオープンに成功
Windowsマシンを使用する場合は、次のように続くことができる示すようにコードをコンパイルし、実行します。
$あるJavac SQLiteJDBC.java $のJava -classpath ";。Sqliteを-JDBC-3.7.2.jar」SQLiteJDBC データベース正常にオープン
テーブルを作成します。
次のJavaプログラムは、以前に作成したデータベース内のテーブルを作成するために使用されます。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 ステートメントのstmt = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); System.out.println( "データベースを正常にオープンしました"); stmtは= c.createStatement(); 文字列のsql = "TABLEの会社を作成」+ 「(ID INT PRIMARY KEY NOT NULL、 "+ 「名前テキストNOT NULL、 "+ 「AGEのINT NOT NULL、 "+ 「アドレスCHAR(50)、 "+ 「SALARYのREAL) "; stmt.executeUpdate(SQL); stmt.close()。 c.close()。 }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "表が正常に作成"); } }
上記のプログラムをコンパイルして実行すると、次のように、test.dbというのファイルの最終リストをCOMPANYテーブルを作成します。
-rw-rを - 。r--の1ルートルート3201128 1月22日19時04分のsqlite-JDBC-3.7.2.jar -rw-rを - r--の1ルートルート1506年5月8日午前5時43分SQLiteJDBC.class。 -rw-rを - r--の1ルートルート832 5月8日午前5時42分SQLiteJDBC.java。 -rw-rを - r--の1ルートルート3072 5月8日午前5時43分test.db.
INSERT操作
次のJavaコードは、上記で作成した会社テーブル内のレコードを作成する方法を示しています。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 ステートメントのstmt = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); c.setAutoCommit(偽); System.out.println( "データベースを正常にオープンしました"); stmtは= c.createStatement(); 文字列のsql = "COMPANY、INSERT INTO(ID、名前、年齢、住所、SALARY)」+ 「VALUES(1、 'ポール'、32、 'カリフォルニア'、20000.00); "; stmt.executeUpdate(SQL); SQL = "COMPANY、INSERT INTO(ID、名前、年齢、住所、SALARY)」+ 「VALUES(2、 'アレン'、25、 'テキサス'、15000.00); "; stmt.executeUpdate(SQL); SQL = "COMPANY、INSERT INTO(ID、名前、年齢、住所、SALARY)」+ 「VALUES(3、 'テディ'、23、 'ノルウェー'、20000.00); "; stmt.executeUpdate(SQL); SQL = "COMPANY、INSERT INTO(ID、名前、年齢、住所、SALARY)」+ "VALUES(4、 'マーク'、25、 'リッチモンド」、65000.00);"; stmt.executeUpdate(SQL); stmt.close()。 c.commit()。 c.close()。 }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "レコードが正常に作成"); } }
上記のプログラムをコンパイルして実行されると、それは与えられたレコードの会社テーブルに作成して、次の2行が表示されます:
データベース正常にオープン 正常に作成されたレコード
SELECT操作
次のJavaプログラムは、以前に作成したCOMPANYテーブルから取得する方法を示していますし、レコードを表示します。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 ステートメントのstmt = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); c.setAutoCommit(偽); System.out.println( "データベースを正常にオープンしました"); stmtは= c.createStatement(); ResultSetのrsは= stmt.executeQueryは(「COMPANY SELECT * FROM; "); しばらく(rs.next()){ int型のid = rs.getInt( "ID"); 文字列名= rs.getString( "名前"); int型の年齢= rs.getInt( "年齢"); 列アドレス= rs.getString( "アドレス"); フロート給与= rs.getFloat( "給与"); System.out.println( "ID =" + ID)。 System.out.println( "NAME =" +名); System.out.println( "AGE =" +年齢)。 System.out.println( "ADDRESS =" +アドレス)。 System.out.println( "SALARY =" +給与); System.out.println(); } rs.close()。 stmt.close()。 c.close()。 }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "操作が正常に行わ"); } }
上記のプログラムをコンパイルして実行されると、次の結果を生成します。
データベース正常にオープン ID = 1 NAME =ポール AGE = 32 ADDRESS =カリフォルニア州 SALARY = 20000.0 ID = 2 NAME =アレン AGE = 25 ADDRESS =テキサス州 SALARY = 15000.0 ID = 3 NAME =テディ AGE = 23 ADDRESS =ノルウェー SALARY = 20000.0 ID = 4 NAME =マーク AGE = 25 ADDRESS =リッチモンド SALARY = 65000.0 操作が正常に行われ
UPDATE操作
次のJavaコードは、その後、任意のレコードを更新COMPANYテーブルから取得し、更新されたレコードを表示するには、UPDATEステートメントを使用する方法を示しています。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 ステートメントのstmt = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); c.setAutoCommit(偽); System.out.println( "データベースを正常にオープンしました"); stmtは= c.createStatement(); 文字列のsql = "UPDATE会社がSALARY = 25000.00を設定する場所ID = 1;"; stmt.executeUpdate(SQL); c.commit()。 ResultSetのrsは= stmt.executeQueryは(「COMPANY SELECT * FROM; "); しばらく(rs.next()){ int型のid = rs.getInt( "ID"); 文字列名= rs.getString( "名前"); int型の年齢= rs.getInt( "年齢"); 列アドレス= rs.getString( "アドレス"); フロート給与= rs.getFloat( "給与"); System.out.println( "ID =" + ID)。 System.out.println( "NAME =" +名); System.out.println( "AGE =" +年齢)。 System.out.println( "ADDRESS =" +アドレス)。 System.out.println( "SALARY =" +給与); System.out.println(); } rs.close()。 stmt.close()。 c.close()。 }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "操作が正常に行わ"); } }
上記のプログラムをコンパイルして実行されると、次の結果を生成します。
データベース正常にオープン ID = 1 NAME =ポール AGE = 32 ADDRESS =カリフォルニア州 SALARY = 25000.0 ID = 2 NAME =アレン AGE = 25 ADDRESS =テキサス州 SALARY = 15000.0 ID = 3 NAME =テディ AGE = 23 ADDRESS =ノルウェー SALARY = 20000.0 ID = 4 NAME =マーク AGE = 25 ADDRESS =リッチモンド SALARY = 65000.0 操作が正常に行われ
DELETE操作
次のJavaコードDELETEステートメントを使用する方法を示しレコードをすべて削除し、その後COMPANYテーブルから取り出され、残りの記録が表示されます。
インポートjava.sqlの*; パブリッククラスSQLiteJDBC { 公共の静的な無効メイン(文字列の引数[]) { コネクションC = nullを。 ステートメントのstmt = nullを。 {しよう Class.forNameの( "org.sqlite.JDBC"); C =したDriverManager.getConnection( "はjdbc:sqliteの:test.dbという"); c.setAutoCommit(偽); System.out.println( "データベースを正常にオープンしました"); stmtは= c.createStatement(); 文字列のsql = "COMPANYからDELETEどこID = 2;"; stmt.executeUpdate(SQL); c.commit()。 ResultSetのrsは= stmt.executeQueryは(「COMPANY SELECT * FROM; "); しばらく(rs.next()){ int型のid = rs.getInt( "ID"); 文字列名= rs.getString( "名前"); int型の年齢= rs.getInt( "年齢"); 列アドレス= rs.getString( "アドレス"); フロート給与= rs.getFloat( "給与"); System.out.println( "ID =" + ID)。 System.out.println( "NAME =" +名); System.out.println( "AGE =" +年齢)。 System.out.println( "ADDRESS =" +アドレス)。 System.out.println( "SALARY =" +給与); System.out.println(); } rs.close()。 stmt.close()。 c.close()。 }キャッチ(例外e){ System.err.println(e.getClass()のgetName()+ ":" + e.getMessage()); でSystem.exit(0); } System.out.println( "操作が正常に行わ"); } }
上記のプログラムをコンパイルして実行されると、次の結果を生成します。
データベース正常にオープン ID = 1 NAME =ポール AGE = 32 ADDRESS =カリフォルニア州 SALARY = 25000.0 ID = 3 NAME =テディ AGE = 23 ADDRESS =ノルウェー SALARY = 20000.0 ID = 4 NAME =マーク AGE = 25 ADDRESS =リッチモンド SALARY = 65000.0 操作が正常に行われ