JAVA基础应用——使用sqlite3

来源:互联网 发布:linux c语言utf8转gbk 编辑:程序博客网 时间:2024/06/08 02:19

1 下载jar包

http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz
把sqlitejdbc-v033-nested.jar 放入项目,添加到Build Path.

注意事项:

路径必须全是小写,不然会报out of memory
这里写图片描述

写操作

static void WriteLog(String txt)    {        try        {            // 连接SQLite的JDBC            Class.forName("org.sqlite.JDBC");            Connection conn = DriverManager.getConnection("jdbc:sqlite://c:/path/handlelog.db");            Statement stat = conn.createStatement();            Date now = new Date();            SimpleDateFormat shortTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            String sql="insert into logs values('" + shortTime.format(now) + "','" + txt +"')";            stat.executeUpdate(sql); // 插入数据            conn.close(); // 结束数据库的连接        }        catch (Exception e)        {            e.printStackTrace();        }    }

select

static boolean isInLog(String txt){        try        {            // 连接SQLite的JDBC            Class.forName("org.sqlite.JDBC");            // 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之            Connection conn = DriverManager.getConnection(""jdbc:sqlite://c:/path/handlelog.db"");            Statement stat = conn.createStatement();            ResultSet rs = stat.executeQuery("select * from logs WHERE file_name='" + txt + "'"); // 查询数据            boolean isHas=false;            while (rs.next())            {                 isHas=true;            }            rs.close();            conn.close(); // 结束数据库的连接            return isHas;        }        catch (Exception e)        {            e.printStackTrace();        }        return false;    }

获取行数量

String sql="SELECT count(*) FROM skip_items WHERE item_number='" + part_number + "'";ResultSet rs=stat.executeQuery(sql);if(rs.getInt(1)>0){    continue;}

使用事务批量插入数据

        Class.forName("org.sqlite.JDBC");            Connection conn=DriverManager.getConnection(properties.getProperty("cache_db"));            conn.setAutoCommit(false);            PreparedStatement prep = conn.prepareStatement( "insert into BOM_CACHE values (?);");            prep.setString(1, rs.getString("ASSEMBLY_CODE"));            prep.addBatch();            prep.setString(1, rs.getString("COMPONENT_CODE"));            prep.addBatch();            prep.executeBatch();            conn.commit();            prep.close();            conn.close();
0 0