JAVA使用SQLite——sqlitejdbc
来源:互联网 发布:拆棋软件 编辑:程序博客网 时间:2024/06/05 08:57
import java.sql.*;
public class Test {
public static void main(String[] args) throws Exception {
Class.forName("org.sqlite.JDBC");
Connection conn =
DriverManager.getConnection("jdbc:sqlite:test.db");
Statement stat = conn.createStatement();
stat.executeUpdate("drop table if exists people;");
stat.executeUpdate("create table people (name, occupation);");
PreparedStatement prep = conn.prepareStatement(
"insert into people values (?, ?);");
prep.setString(1, "Gandhi");
prep.setString(2, "politics");
prep.addBatch();
prep.setString(1, "Turing");
prep.setString(2, "computers");
prep.addBatch();
prep.setString(1, "Wittgenstein");
prep.setString(2, "smartypants");
prep.addBatch();
conn.setAutoCommit(false);
prep.executeBatch();
conn.setAutoCommit(true);
ResultSet rs = stat.executeQuery("select * from people;");
while (rs.next()) {
System.out.println("name = " + rs.getString("name"));
System.out.println("job = " + rs.getString("occupation"));
}
rs.close();
conn.close();
}
}
http://www.zentus.com/sqlitejdbc/
为了减少数据库连接的I/O开销,一般会把多条数据插入放在一条SQL语句中一次执行。
以前用Mysql做开发一直是这样用的:
INSERT INTO TABLE(col1, col2) VALUES(val11, val12), (val21, val22) ;
最近用SQLite才发现这个语法并非标准SQL,故而SQLite并不支持。经过一番查找,发现如下方法可以替代:
INSERT INTO TABLE(col1, col2) SELECT val11, val12 UNION ALL SELECT val21, val22 ;
这样的写法是属于复合SQL语句,表示先把两个SELECT的结果集进行无删减的联合,再把联合结果插入到TABLE中。
sqlite不支持像mysql这样一条语句插入多条记录。
而sqlite是以文件的形式存在磁盘中,每次访问时都要打开一次文件,如果对数据进行大量操作时,会很慢~
解决办法是用事务的形式提交:因为我们开始事务后,进行大量操作的语句都保存在内存中,当提交时才全部写入数据库,此时,数据库文件也就只用打开一次。
sql语句:
如:
CREATE TABLE 21andy (
id INTEGER PRIMARY KEY AUTOINCREMENT,
21andy VARCHAR(100) NOT NULL, date DATE
);
SELECT * FROM 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
select * from sys_option limit 10,20
- JAVA使用SQLite——sqlitejdbc
- JAVA使用SQLite——sqlitejdbc
- SQLite数据库下载和SQLiteJDBC基本使用
- SQLite学习总结(2)——使用Java操作SQLite
- java中使用sqlite
- java连接使用sqlite
- Java使用Sqlite
- java 中使用 sqlite
- java sqlite使用小记
- Java 使用 SQLite数据库
- java: SQLite使用实例
- 【sqlite】——使用记录
- Android——SQLite使用
- SQLite——简单使用
- java中使用sqlite数据库
- JAVA中sqlite的使用
- java中使用sqlite数据库
- SQLite 在 Java中的使用
- cpu iowait高排查的case
- Java 数据类型相关
- 8JAVA中的流程控制
- 面向对象实验一(类与对象)
- oracle基础
- JAVA使用SQLite——sqlitejdbc
- android socket之查看网页源码
- Win32多线程之ExitThread
- PCB设计中的电源信号完整性的考虑
- 9JAVA循环控制--break与continue的简单说明
- HashMap的工作原理
- 通过blktrace, debugfs分析磁盘IO
- 网站消息推送介绍
- vc++编程环境的介绍