在Java中利用SQLite的教程
我一直想写一个在Java中利用SQLite的例子,可是很长时间都找不到一个真正符合的, 此刻我终于找到了,我但愿它可以辅佐那些像我一样的Java新手走出狐疑.
测试情况
Intel x86 Laptop
Windows XP SP2
Java2 JDK 1.5 Update 8
Netbeans IDE 5.0 import java.sql.*;
import org.sqlite.JDBC;
/**
* Very Basic SQLite Database Example
* @author Brandon Tanner
*/
public class SQLiteTest {
public static void main(String[] args) {
try {
// The SQLite (3.3.8) Database File
// This database has one table (pmp_countries) with 3 columns (country_id, country_code, country_name)
// It has like 237 records of all the countries I could think of.
String fileName = "c:/pmp.db";
// Driver to Use
// http://www.zentus.com/sqlitejdbc/index.html Class.forName("org.sqlite.JDBC");
// Create Connection Object to SQLite Database
// If you want to only create a database in memory, exclude the +fileName
Connection conn = DriverManager.getConnection("jdbc:sqlite:"+fileName);
// Create a Statement object for the database connection, dunno what this stuff does though.
Statement stmt = conn.createStatement();
// Create a result set object for the statement
ResultSet rs = stmt.executeQuery("SELECT * FROM pmp_countries ORDER BY country_name ASC");
// Iterate the result set, printing each column
// if the column was an int, we could do rs.getInt(column name here) as well, etc.
while (rs.next()) {
String id = rs.getString("country_id"); // Column 1
String code = rs.getString("country_code"); // Column 2
String name = rs.getString("country_name"); // Column 3
System.out.println("ID: "+id+" Code: "+code+" Name: "+name);
}
// Close the connection
conn.close();
}
catch (Exception e) {
// Print some generic debug info
System.out.println(e.getMessage());
System.out.println(e.toString());
}
}
}
下载
pmp.db– 例子顶用到的数据库文件:http://www.pysquared.com/files/Java/JavaSQLiteExample/pmp.db
SQLiteTest.java- Java 源文件:http://www.pysquared.com/files/Java/JavaSQLiteExample/SQLiteTest.java
pmp_sqlite.sql– 用来成立数据库(pmp.db)的SQL语句.:http://www.pysquared.com/files/Java/JavaSQLiteExample/pmp_sqlite.sql
sqlite3.exe- SQLite 3.3.8 呼吁行措施用来建设和会见数据库(非必须).:http://www.pysquared.com/files/Java/JavaSQLiteExample/sqlite3.exe
sqlitejdbc.zip v027 (based on SQLite 3.3.8)- SQLiteJDBC 驱动.:http://www.pysquared.com/files/Java/JavaSQLiteExample/sqlitejdbc.zip
SQLite Administrator- (可选的) 我认为最好的一个免费的图形数据库打点东西,支持SQLite 2/3.:http://sqliteadmin.orbmu2k.de/
W3 Schools SQL Tutorial– 强力推荐的一套在线SQL语法教程.:http://www.w3schools.com/sql/default.asp
利用步调
下载上面的文件.
对我来说最难的工作就是要把这个驱动放在什么处所Netbeans才气找到它. 我是把下载返来的两个文件(sqlitejdbc.dll 和sqlitejdbc.jar)放到了JDK中的JRE下的lib/ext 目次中(我的呆板上是E:\Programs\Java\jdk1.5.0_08\jre\lib\ext,你大概是c:\Program Files\Java\jdk1.5.0_08\jre\lib\ext),这样就Netbeans就可以找到它了.
把pmp.db放到C盘的根目次下.
看一下SQLiteTest.java中的代码和注释,很歉仄没有文档的说明.
启动Netbeans, 建设一个新的工程, 插手我的例子文件然后编译运行. 措施将把数据库中的所有国度输出在尺度输出流上.
附加说明 我是如何建设这个数据库文件的? 我用上面提供的pmp_sqlite.sql文件. 你可以看到每行SQL语句的后头都以分号末了. 利用呼吁行东西, 输入 sqlite3 pmp.db 这样就可以建设一个数据库文件, 然后输入 .read pmp_sqlite.sql 导入SQL建表语句. 最后输入 .exit 生存数据库并退出. 在SQLite的网站上尚有更多关于如何利用呼吁行东西建设和会见数据库的资料.