如何在Java中访问SQLite数据库

Python013

如何在Java中访问SQLite数据库,第1张

首先下载一个SQLite的JDBC驱动包。

下载地址:http://download.csdn.NET/download/ccatm/8736925

在Eclipse中新建一个工程,并在Properties》Java build path》Libraries中将这个驱动包导入工程中。

代码中导入

import Java.sql.*

import org.sqlite.JDBC

然后在main函数中加入下列代码,编译运行。

try{

Class.forName("org.sqlite.JDBC")

Connection conn = DriverManager.getConnection("jdbc:sqlite:filename") //filename为sqlite数据库文件名,最好带上绝对路径

String sql = "insert into tb_users values('张三','111','男','25')"

Statement stmt = conn.createStatement()

stmt.executeUpdate(sql)

conn.close()

}catch(Exception e){

e.printStackTrace()

}

然后可以用SQLiteSpy工具打开数据库文件,就可以看到上面插入的记录了:)

SQLiteSpy下载地址:http://download.csdn.Net/download/ccatm/8736417

注意需要在程序运行前,先创建数据文件和表。可以使用SQLiteSpy来创建,建表使用SQL语句如下。

CREATE TABLE tb_users(username varchar(10), password varchar(16), sex varchar(8), age interger)

只要导入jar包就行了,使用的时候 加载class(即Class.forName("org.sqlite.JDBC"))

然后可以用最原始的jdbc代码去使用sqlite

比如创建连接:Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db" )(其中test.db就是数据库文件以及数据库的名称,这句话有两个作用:1、如果不存在该数据库则创建并返回连接;2、如果存在了数据库,则直接返回连接)

代码如下:

import java.sql.*

public class SQLiteJDBC

{

  public static void main( String args[] )

  {

    Connection c = null

    try {

    //Class.forName加载class

      Class.forName("org.sqlite.JDBC")

      c = DriverManager.getConnection("jdbc:sqlite:test.db")

    } catch ( Exception e ) {

      System.err.println( e.getClass().getName() + ": " + e.getMessage() )

      System.exit(0)

    }

    System.out.println("Opened database successfully")

  }

}

创建表

import java.sql.*

public class SQLiteJDBC

{

  public static void main( String args[] )

  {

    Connection c = null

    Statement stmt = null

    try {

    //Class.forName加载class

      Class.forName("org.sqlite.JDBC")

      //DriverManager.getConnection创建连接

      c = DriverManager.getConnection("jdbc:sqlite:test.db")

      System.out.println("Opened database successfully")

      stmt = c.createStatement()

      //sql创建表语句

      String sql = "CREATE TABLE COMPANY " +

                   "(ID INT PRIMARY KEY     NOT NULL," +

                   " NAME           TEXT    NOT NULL, " + 

                   " AGE            INT     NOT NULL, " + 

                   " ADDRESS        CHAR(50), " + 

                   " SALARY         REAL)" 

      //executeUpdate创建表

      stmt.executeUpdate(sql)

      stmt.close()

      c.close()

    } catch ( Exception e ) {

      System.err.println( e.getClass().getName() + ": " + e.getMessage() )

      System.exit(0)

    }

    System.out.println("Table created successfully")

  }

}