数据库专栏


轻量级的文件式数据库SQLite的安装与使用

2007-10-24 15:40Update

LifevV.COM编辑部

SQLite是一个用C语言开发的轻量级的支持SQL92标准的SQL数据库引擎。跟MySQL,PostgreSQL等数据库系统不一样的是,SQLite不需要以服务器的形式启动,而以库的形式提供数据库功能。本文介绍SQLite的安装,使用,以及Java语言使用SQLite的方法等。


SQLite的介绍:
> SQLite - 轻量级的文件式数据库

SQLite下载与安装:
SQLite的最新版本可以从这里下载。下面我们以Windows版本sqlite-3_5_1.zip 为例介绍其安装方法。
(大家可以选择下载安装适合自己的版本)
下载后,将sqlite-3_5_1.zip解压缩至C:\sqlite目录即完成安装。
C:\sqlite目录构造为:

C:\sqlite
  |
  +--sqlite3.exe

打开一个CMD命令窗口

C:\>cd sqlite

C:\sqlite>sqlite3.exe mydb.db
SQLite version 3.5.1
Enter ".help" for instructions
sqlite> create table user ( id integer primary key, name varchar(32) );
sqlite> .schema
CREATE TABLE user ( id integer primary key, name varchar(32) );
sqlite>.quit

退出后,查看C:\sqlite目录,会发现多出一个mydb.db文件:
C:\sqlite
  |
  +--sqlite3.exe
  +--mydb.db

Java+JDBC 使用SQLite
SQLite的最新JDBC驱动可以从 http://www.ch-werner.de/javasqlite/ 下载。
目录最新的binary版是javasqlite-20070915-win32.zip
解压缩。并将解压缩后得到的sqlite.jar文件拷贝到%JAVA_HOME%\jre\lib\ext,sqlite_jni.dll文件拷贝到%JAVA_HOME%\jre\bin。

测试:
创建名为TestSQLiteJDBC.java,内容:
C:\TestSQLiteJDBC.java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestSQLiteJDBC {

    public static void main(String args[]) {
        Connection c = null;
        try {
            Class.forName("SQLite.JDBCDriver");
            c = DriverManager.getConnection("jdbc:sqlite:/c:/sqlite/mydb.db", "", "");
            c.setAutoCommit(false);

            Statement st = c.createStatement();
            st.executeUpdate("INSERT INTO user(id,name) VALUES(1,'Hello SQLite')");
            
            ResultSet rs = st.executeQuery("SELECT * FROM user");
            while (rs.next()) {
                int id = rs.getInt(1);
                String name = rs.getString(2);
                System.out.println("id=" + id + ", name=" + name);
            }
            rs.close();
            st.close(); 

            c.commit();
            c.close();
        } catch (Exception e) {
            e.printStackTrace();
            System.exit(1);
            try {
                if (c != null && !c.isClosed()) {
                    c.rollback();
                    c.close();
                }
            } catch (SQLException sql) {
                // do nothing
            }
        }
    }

}


假设jdk的安装目录JAVA_HOME为C:\dev\jdk1.5.0_06:
C:\>javac -classpath ".;C:\dev\jdk1.5.0_06\jre\lib
;C:\dev\jdk1.5.0_06\jre\lib\ext\sqlite.jar" TestSQLiteJDBC.java
C:\>java -classpath ".;C:\dev\jdk1.5.0_06\jre\lib
;C:\dev\jdk1.5.0_06\jre\lib\ext\sqlite.jar" -Djava.library.path=C:\dev\jdk1.5.0_
06\jre\bin TestSQLiteJDBC
id=1, name=Hello SQLite


SQLite官方首页:
http://www.sqlite.org/
  • Relative Articles
 
Copyright ©2006-2010 lifevv.com. All Rights Reserved
POWERED BY @pmplat.syboos.com