SQLite嵌入式数据库

前端之家收集整理的这篇文章主要介绍了SQLite嵌入式数据库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

原文链接:https://www.f2er.com/sqlite/198751.html

猜你在找的Sqlite相关文章