如何连接SQLite与Java?

我正在使用一个简单的代码从Java应用程序访问SQLite数据库。 我的代码是

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(); } } } } 

但是这个代码给了一个例外

 java.lang.ClassNotFoundException: org.sqlite.JDBC 

我该如何解决这个问题,请帮助我。

你需要在你的类path中有一个SQLite JDBC驱动程序。

Taro L. Saito(xerial)分叉了Zentus项目,现在以名称sqlite-jdbc维护它。 它捆绑了主要平台的本地驱动程序,因此您不需要单独configuration它们。

如果你正在使用netbeans下载sqlitejdbc驱动程序右键单击项目窗口中的库文件夹,select添加库,然后点击创buildbuttoninput库名称(SQLite),然后点击确定

您必须将sqlitejdbc驱动程序添加到类path中,单击Add Jar / Folder ..button,然后select您之前下载的sqlitejdbc文件。点击OK,您就可以开始了!

如果你使用的是使用Maven Netbeans来添加库更容易。 我曾尝试使用上述解决scheme,但没有奏效。

 <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 Build Path – > Libraries – > Add External 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; } 

嗨,我已经在YouTube上发布了关于这个video教程,你可以检查,你可以在这里find示例代码:

http://myfundatimemachine.blogspot.in/2012/06/database-connection-to-java-application.html

 connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db"); 

而不是这个

 connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb"); 

您必须下载并将SQLite JDBC驱动程序添加到您的类path中。
你可以从这里下载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"); } 
 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; } } }