Java applicationからSQLiteデータベースにアクセスするために1つの簡単なコードを使用しています。
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.ResultSet;
import Java.sql.Statement;
public class ConnectSQLite
{
public static void main(String[] args)
{
Connection connection = null;
ResultSet resultSet = null;
Statement statement = null;
try
{
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");
statement = connection.createStatement();
resultSet = statement
.executeQuery("SELECT EMPNAME FROM EMPLOYEEDETAILS");
while (resultSet.next())
{
System.out.println("EMPLOYEE NAME:"
+ resultSet.getString("EMPNAME"));
}
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
try
{
resultSet.close();
statement.close();
connection.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
しかし、このコードは次のような例外を1つ与えます。
Java.lang.ClassNotFoundException: org.sqlite.JDBC
これをどうすれば助けてくれますか。
クラスパスにSQLite JDBCドライバーが必要です。
Taro L. Saito(xerial)はZentusプロジェクトを分岐し、現在は sqlite-jdbc という名前で保守しています。主要プラットフォーム用のネイティブドライバーがバンドルされているため、それらを個別に構成する必要はありません。
Netbeansを使用している場合は、 sqlitejdbc driver をダウンロードします。プロジェクトウィンドウでライブラリフォルダーを右クリックし、ライブラリの追加を選択し、作成ボタンをクリックしてライブラリー名(SQLite)を入力し、OKを押します
クラスパスにsqlitejdbcドライバーを追加し、Add Jar/Folder ..ボタンをクリックして、以前にダウンロードしたsqlitejdbcファイルを選択する必要があります。OKを押すと準備完了です。
Netbeans
を使用している場合、Maven
を使用してライブラリを追加する方が簡単です。上記のソリューションを使用しようとしましたが、うまくいきませんでした。
<dependencies>
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.7.2</version>
</dependency>
</dependencies>
Maven
依存関係とJava.lang.ClassNotFoundException: org.sqlite.JDBC
エラーがなくなりました。
Eclipseを使用していますが、コードをコピーして同じエラーが発生しました。次に、プロジェクトのプロパティ-> Javaビルドパス->ライブラリ->外部JARの追加...を開きました。c:\ jrun4\lib\sqlitejdbc-v056.jarチャームのように機能しました。 .jarファイルをコピーしたばかりの場合は、Webサーバーの再起動が必要になる場合があります。
import Java.sql.ResultSet;
import Java.sql.SQLException;
import javax.swing.JOptionPane;
import org.sqlite.SQLiteDataSource;
import org.sqlite.SQLiteJDBCLoader;
public class Test {
public static final boolean Connected() {
boolean initialize = SQLiteJDBCLoader.initialize();
SQLiteDataSource dataSource = new SQLiteDataSource();
dataSource.setUrl("jdbc:sqlite:/home/users.sqlite");
int i=0;
try {
ResultSet executeQuery = dataSource.getConnection()
.createStatement().executeQuery("select * from \"Table\"");
while (executeQuery.next()) {
i++;
System.out.println("out: "+executeQuery.getMetaData().getColumnLabel(i));
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, ex);
}
return initialize;
}
SQLite JDBCドライバーをダウンロードして、クラスパスに追加する必要があります。
こちらからダウンロードできます https://bitbucket.org/xerial/sqlite-jdbc/downloads
Gradleを使用する場合は、SQLite依存関係を追加するだけで済みます。
dependencies {
compile 'org.xerial:sqlite-jdbc:3.8.11.2'
}
次にする必要があるのは、ドライバーを初期化することです。
try {
Class.forName("org.sqlite.JDBC");
} catch (ClassNotFoundException eString) {
System.err.println("Could not init JDBC driver - driver not found");
}
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");
この代わりに
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb");
ちょっと私はこれについてのビデオチュートリアルをYouTubeに投稿しました、あなたはそれをチェックすることができます、そしてあなたはここでサンプルコードを見つけることができます:
http://myfundatimemachine.blogspot.in/2012/06/database-connection-to-Java-application.html
import Java.sql.Connection;
import Java.sql.DriverManager;
import Java.sql.SQLException;
import javax.swing.JOptionPane;
public class Connectdatabase {
Connection con = null;
public static Connection ConnecrDb(){
try{
//String dir = System.getProperty("user.dir");
Class.forName("org.sqlite.JDBC");
Connection con = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");
return con;
}
catch(ClassNotFoundException | SQLException e){
JOptionPane.showMessageDialog(null,"Problem with connection of database");
return null;
}
}
}