SQLite嵌入式数据库

原创 2016年08月30日 17:41:27

SQLite是一个由C语言编写的嵌入式数据库管理API,只有一个几百KByte的dll,无需安装,操作是只需要调用其提供的API即可。因为是C语言编写,其API并不符合JDBC规范,因此有人编写了一个对应的jar包(实际上就是跨语言操作,调用dll)。

java操作SQLite

1、下载jar包“sqlite-jdbc-3.7.2.jar”。
这个jar包把dll转换成符合java jdbc规范的方式使用。

2、准备开发环境
Windows 7、MyEclipse 8.6、jdk1.7

3、在MyEclipse上新建java Project工程,目录结构如下:

sqliteDemo
      src
          com.jasper.sqlite
                TestSqlite.java
      lib
           sqlite-jdbc-3.7.2.jar
      sqlite.database

TestSqlite.java // 样例代码
sqlite.database // 数据库文件(后缀可以随便写)


4、编写TestSqlite.java代码

package com.jasper.sqlite;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class TestSqlite {
    public static void main( String[] args ) {
        // 数据库文件路径
        String databaseFile = TestSqlite.class.getClassLoader().getResource("").getPath() + "../sqlite.database";
        System.out.println(databaseFile);
        Connection con = null;
        Statement st = null;
        try {
            // 加载驱动
            Class.forName("org.sqlite.JDBC");
            // 获取数据库连接
            con = DriverManager.getConnection("jdbc:sqlite:" + databaseFile);
            // 设置提交事物为false
            con.setAutoCommit(false);
            st = con.createStatement();
            // 设置超时
            st.setQueryTimeout(30);
            // 执行删除操作
            st.execute("drop table if exists person");
            // 执行创建操作
            st.execute("create table person(id integer,name string)");
            // 执行插入操作
            st.execute("insert into person(id,name) values(1,'aaa')");
            st.execute("insert into person(id,name) values(2,'bbb')");
            st.execute("insert into person(id,name) values(3,'ccc')");
            st.execute("insert into person(id,name) values(4,'eee')");
            ResultSet rs = st.executeQuery("select * from person");
            // 打印结果
            while (rs.next()) {
                System.out.println("id:" + rs.getInt("id") + ",name:" + rs.getString("name"));
            }
            // 提交
            con.commit();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            try {
                if (con != null) {
                    // 回滚
                    con.rollback();
                }
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
        } catch (SQLException e) {
            e.printStackTrace();
            try {
                if (con != null) {
                    // 回滚
                    con.rollback();
                }
            } catch (SQLException e1) {
                e1.printStackTrace();
            }
        } finally {
            if (st != null) {
                try {
                    st.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (con != null) {
                try {
                    con.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}



5、执行结果
/D:/myEclipseWorkspaces/mybatisDemo/bin/../sqlite.database
id:1,name:aaa
id:2,name:bbb
id:3,name:ccc
id:4,name:eee

相关文章推荐

嵌入式数据库SQLite

  • 2010年11月10日 22:58
  • 9.77MB
  • 下载

嵌入式数据库简介-SQLite

  • 2007年11月21日 12:10
  • 386KB
  • 下载

嵌入式数据库 SQLite 浅析

声明:本文转自http://blog.csdn.net/zqixiao_09/article/details/50528181        SQLite是一个非常轻量级自包含(lightweigh...

SQLite嵌入式数据库的应用研究

  • 2012年03月29日 17:42
  • 188KB
  • 下载

sqlite3数据库 linux嵌入式

  • 2015年09月20日 17:44
  • 2.74MB
  • 下载

Sqlite 嵌入式数据库移植和使用

1.    源代码的获取     sqlite是一个功能强大、体积小运算速度快的嵌入式数据库,采用了全C语言封装,并提供了八十多个命令接口,可移植性强,使用方便。     下载地址:http:...

SQLite 嵌入式数据库介绍.ppt

  • 2010年11月20日 18:58
  • 1.02MB
  • 下载

数据存储之三SQLite嵌入式数据库

数据存储之三SQLite嵌入式数据库 1 文章分类:移动开发 前两篇日志我已经总结了本地数据存储的前两种:文件和配置项。还剩下最后一种数据库存储——SQLite。 一、SQLi...
  • ictch
  • ictch
  • 2011年01月11日 11:00
  • 811

嵌入式数据库sqlite3.6(LINUX版)

  • 2011年03月03日 13:37
  • 2.67MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQLite嵌入式数据库
举报原因:
原因补充:

(最多只允许输入30个字)