如何将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
我该如何解决,请帮助我。
9个解决方案
58 votes
您需要在类路径中有一个SQLite JDBC驱动程序。
Taro L. Saito(xerial)分叉了Zentus项目,并以sqlite-jdbc的名称进行维护。 它捆绑了主要平台的本机驱动程序,因此您无需单独配置它们。
Reverend Gonzo answered 2020-06-17T12:51:09Z
9 votes
如果您使用的是netbeans,请下载sqlitejdbc驱动程序在“项目”窗口中右键单击“库”文件夹,然后选择“添加库”,然后单击“创建”按钮,输入库名称(SQLite),然后单击“确定”。
您必须将sqlitejdbc驱动程序添加到类路径,单击添加Jar / Folder ..按钮并选择您先前下载的sqlitejdbc文件点击确定,您就可以开始了!
lesce answered 2020-06-17T12:51:35Z
8 votes
如果您使用的是2926963343518818860288,则使用java.lang.ClassNotFoundException: org.sqlite.JDBC添加库更容易。 我已经尝试使用上述解决方案,但是没有用。
org.xerial
sqlite-jdbc
3.7.2
我添加了29269633435188188288依赖项,并且java.lang.ClassNotFoundException: org.sqlite.JDBC错误消失了。
Olcay Ertaş answered 2020-06-17T12:51:59Z
5 votes
我正在使用Eclipse,并且复制了您的代码,并遇到了相同的错误。 然后,我打开了项目属性-> Java Build Path->库->添加外部JAR ...c:\ jrun4 \ lib \ sqlitejdbc-v056.jar像魅力一样工作。 如果您刚刚复制了.jar文件,则可能需要重新启动Web服务器。
MeanderingCoder answered 2020-06-17T12:52:19Z
3 votes
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;
}
user2402433 answered 2020-06-17T12:52:35Z
3 votes
您必须下载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");
}
Thev answered 2020-06-17T12:53:08Z
1 votes
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db");
代替这个
connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb");
Vasanth Kumar answered 2020-06-17T12:53:30Z
1 votes
嘿,我在youtube上发布了有关此的视频教程,您可以检查一下并在此处找到示例代码:
[HTTP://买衣服你答time machine.blogspot.in/2012/06/database-connection-to-Java-application.HTML]
fiddle answered 2020-06-17T12:54:47Z
0 votes
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;
}
}
}
Deepak S. Gavkar answered 2020-06-17T12:55:03Z