Java程序中使用SQLite總結


SQLite是一種輕量級的開源數據庫,其源代碼可從www.sqlite.org獲取,由於其源代碼是C語言實現的,因此它提供的接口可以很簡單地被C/C++程序使用。Java程序中如何使用它呢?本人初學Java,暫時也不了解Java程序如何調用C/C++庫,但目前了解到兩種方法:

(1)使用SQLite JDBC,這個使用很方便,只需要下載個jar包即可,缺點就是慢一點;

(2)使用SQLite Java Wrapper,這個據說需要安裝本地庫,比如windows下需要相應的dll文件,linux下需要相應的.so文件。

本人試過第(1)中方法,下面的例子只針對第(1)種方法,第(2)種方法留待以后深入學習。

1、下載SQLite JDBC jar包

下載地址:(1)http://www.xerial.org/maven/repository/artifact/org/xerial/sqlite-jdbc (下載最新的jar包,如:sqlite-jdbc-3.7.2.jar)

(2)http://www.zentus.com/sqlitejdbc/(網絡上很多文章中提供了這個地址,但是本人在公司打不開)

2、將下載好的jar包放入%JAVA_HOME%/lib目錄,並將該jar包完整路徑添加到CLASSPATH環境變量中。

3、示例:

import java.sql.*;

public class Test {
    public static void main(String[] args) throws Exception {
        Class.forName("org.sqlite.JDBC");
        Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db");
        Statement stat = conn.createStatement();
        stat.executeUpdate("drop table if exists people;");
        stat.executeUpdate("create table people (name, occupation);");
        PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?);");

        prep.setString(1, "Gandhi");
        prep.setString(2, "politics");
        prep.addBatch();
        prep.setString(1, "Turing");
        prep.setString(2, "computers");
        prep.addBatch();
        prep.setString(1, "Wittgenstein");
        prep.setString(2, "smartypants");
        prep.addBatch();

        conn.setAutoCommit(false);
        prep.executeBatch();
        conn.setAutoCommit(true);

        ResultSet rs = stat.executeQuery("select * from people;");
        while (rs.next()) {
            System.out.println("name = " + rs.getString("name"));
            System.out.println("job = " + rs.getString("occupation"));
        }
        rs.close();
        conn.close();
    }
}

說明:該示例摘自http://www.cnblogs.com/wuhenke/archive/2011/10/30/2229126.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM