zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/opangle/p/3066435.html
Copyright © 2011-2022 走看看