Java操作Sqlite数据库-jdbc连接

Java操作Sqlite数据库步骤:

1. 导入Sqlite jdbc

本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD

2. 编写jdbc连接代码

public class OpSqliteDB {
    
    private static final String Class_Name = "org.sqlite.JDBC";
    private static final String DB_URL = "jdbc:sqlite:F:\\xxxdatabase.db";

    public static void main(String args[]) {
        // load the sqlite-JDBC driver using the current class loader
        Connection connection = null;
        try {
            connection = createConnection();
            func1(connection);
            System.out.println("Success!");
        }  catch (SQLException e) {
            System.err.println(e.getMessage());
        } catch(Exception e) {
            e.printStackTrace();
        } finally{
            try {
                if (connection != null)
                    connection.close();
            } catch (SQLException e) {
                // connection close failed.
                System.err.println(e);
            }
        }
    }
    
    // 创建Sqlite数据库连接
    public static Connection createConnection() throws SQLException, ClassNotFoundException {
        Class.forName(Class_Name);
        return DriverManager.getConnection(DB_URL);
    }

    public static void func1(Connection connection) throws SQLException {
        Statement statement = connection.createStatement();
        Statement statement1 = connection.createStatement();
        statement.setQueryTimeout(30); // set timeout to 30 sec.
        // 执行查询语句
        ResultSet rs = statement.executeQuery("select * from table_name1");
        while (rs.next()) {
            String col1 = rs.getString("col1_name");
            String col2 = rs.getString("col2_name");
            System.out.println("col1 = " + col1 + "  col2 = " + col2);
            
            System.out.println(location);
            // 执行插入语句操作
            statement1.executeUpdate("insert into table_name2(col2) values('" + col2_value + "')");
            // 执行更新语句
            statement1.executeUpdate("update table_name2 set 字段名1=" +  字段值1 + " where 字段名2='" +  字段值2 + "'");
        }
    }

以下是其他的一些Sql语句,来自网址:http://www.cnblogs.com/linjiqin/archive/2011/05/26/2059182.html (Android上面使用Sqlite)

查询语句:

select * from 表名 where 条件子句 group by 分组字句 having ... order by 排序子句

如:

select * from person

select * from person order by id desc

select name from person group by name having count(*)>1

分页SQL与mysql类似,下面SQL语句获取5条记录,跳过前面3条记录

select * from Account limit 5 offset 3 或者 select * from Account limit 3,5

插入语句:

insert into 表名(字段列表) values(值列表)如: insert into person(name, age) values(‘传智’,3)

更新语句:

update 表名 set 字段名=值 where 条件子句如:update person set name=‘传智‘ where id=10

删除语句:

delete from 表名 where 条件子句如:delete from person where id=10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java系列博客

分布式下规则生成主键

2734
来自专栏Ryan Miao

sqlite - java 初学

进来准备使用一种embedded database,即嵌入式数据库,方便随项目本地存储。目前学习打算是sqlite和H2。 document:http://ww...

3309
来自专栏java一日一条

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(...

733
来自专栏java达人

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是用来执行SQL查询语句的API之一,Java提供了 Statement、PreparedStatement 和 Callab...

29610
来自专栏最高权限比特流

JDBC为什么要使用PreparedStatement而不是Statement

1522
来自专栏Hongten

Hibernate逆向工程原理_java版本

之前在一篇"Hibernate 逆向工程生成POJO类和映射文件"文章中,一位朋友提出了这样的问题:

951
来自专栏java一日一条

JDBC为什么要使用PreparedStatement而不是Statement

PreparedStatement是java.sql包下面的一个接口,用来执行SQL语句查询,通过调用connection.preparedStatement(...

892
来自专栏杨建荣的学习笔记

pl/sql中的参数模式(r4笔记第54天)

在平时的工作中,可能通过pl/sql传入参数来做一些特定的操作,参数模式一般有In,out.in out这几种 比如dbms_sqltune下的PREPARE_...

3174
来自专栏java达人

使用jdbc连接mysql

image.png JDBC连接MYSQL数据库: package cn.outofmemory.test;import java.sql.Connec...

2407
来自专栏Java帮帮-微信公众号-技术文章全总结

JDBC基础入门(2)

其他关于C3P0的详细内容, 可参考C3P0主页. HikariCP HikariCP是另一款高性能/”零开销”/高品质的数据库连接池,据测试,其性能优于C3P...

2807

扫码关注云+社区

领取腾讯云代金券