首发地址:http://inmethetiger.iteye.com/blog/1680669
在bdb中的原生态包中并不包含对SQLite的支持。但是提供了一个jdbc.jar包,这个包能像访问SQLite数据库一样使用bdb的数据库
SQLite连接数据库的方法
需要sqlite-jdbc.jar包
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SQLiteT {
public static void main(String[] args) throws SQLException,
ClassNotFoundException {
Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:geoportal.db","root","root");
Statement stat = conn.createStatement();
stat.executeUpdate("create table tbl1(name varchar(20), salary int);");// 创建一个表,两列
stat.executeUpdate("insert into tbl1 values('ZhangSan',8000);");// 插入数据
stat.executeUpdate("insert into tbl1 values('LiSi',7800);");
stat.executeUpdate("insert into tbl1 values('WangWu',5800);");
stat.executeUpdate("insert into tbl1 values('ZhaoLiu',9100);");
ResultSet rs = stat.executeQuery("select * from tbl1;");// 查询数据
while (rs.next()) {// 将查询到的数据打印出来
System.out.print("name = " + rs.getString("name") + " ");// 列属性一
System.out.println("salary = " + rs.getString("salary"));// 列属性二
}
}
}
使用bdb原生态api创建数据库的方法:
需要db.jar
DatabaseConfig dbConfig = new DatabaseConfig();
dbConfig.setTransactional(true);
if (create) {
dbConfig.setAllowCreate(true);
dbConfig.setType(DatabaseType.BTREE);
}
// catalog is needed for serial bindings (java serialization)
Database catalogDb = env.openDatabase(null, "catalog", null, dbConfig);
catalog = new StoredClassCatalog(catalogDb);
// use Integer tuple binding for key entries
TupleBinding keyBinding =
TupleBinding.getPrimitiveBinding(Integer.class);
// use String serial binding for data entries
SerialBinding dataBinding = new SerialBinding(catalog, String.class);
this.db = env.openDatabase(null, "helloworld", null, dbConfig);
// create a map view of the database
this.map = new StoredSortedMap(db, keyBinding, dataBinding, true);
在bdb中使用SQLite的方法
需要bdb中下载的jar包中的jdbc.jar
package db.sqllitedb;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class BDB_SQLlite {
public static void main(String[] args) {
Connection conn = null;
SQLite.Database db = null;
try {
Class.forName("SQLite.JDBCDriver").newInstance();
conn = DriverManager.getConnection("jdbc:sqlite:/blabla.db");
java.lang.reflect.Method m = conn.getClass().getMethod(
"getSQLiteDatabase", null);
db = (SQLite.Database) m.invoke(conn, null);
System.out.println(db.version());
Statement stat = conn.createStatement();
stat.executeUpdate("create table tbl1(name varchar(20), salary int);");// 创建一个表,两列
stat.executeUpdate("insert into tbl1 values('ZhangSan',8000);");// 插入数据
stat.executeUpdate("insert into tbl1 values('LiSi',7800);");
stat.executeUpdate("insert into tbl1 values('WangWu',5800);");
stat.executeUpdate("insert into tbl1 values('ZhaoLiu',9100);");
ResultSet rs = stat.executeQuery("select * from tbl1;");// 查询数据
while (rs.next()) {// 将查询到的数据打印出来
System.out.print("name = " + rs.getString("name") + " ");// 列属性一
System.out.println("salary = " + rs.getString("salary"));// 列属性二
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
其中访问SQLite的方法类似。最重要的是驱动包的加载方式。
分享到:
相关推荐
例如,Apache HTTP Server的mod_dbd模块就使用BDB来存储用户认证信息,SQLite数据库在早期版本也借鉴了BDB的设计。 然而,值得注意的是,尽管BDB在某些方面表现出色,但它并非适用于所有情况。对于需要复杂SQL查询...
项目涉及的关键组件包括openldap、sqlite、sqlite驱动程序、UnixODBC、Berkeley DB (BDB),并详细介绍了这些组件的配置、安装调试步骤、使用方法及常见问题。 #### 二、关键组件介绍 ##### 2.1 Openldap-2.3.32 - ...
在Symbian SQLite中,事务提供了数据的一致性和完整性保障。BEGIN、COMMIT和ROLLBACK语句用于控制事务的开始、结束和回滚。在一组数据库操作中,如果任何一个步骤失败,整个事务可以被回滚,以保持数据的完整性。 ...
写文件 sqlite文件被损坏 在事务进行过程中,进行数据库备份或恢复 在数据库事务过程中,数据库文件既包括老的内容,也包括新的内容。如果此时拷贝这个文件,数据库可能会被损坏。 备份数据库好使用sqlite的api。 ...
你可以在项目中导入相应的库,配置连接,并使用Swift的语法进行数据操作。 对于Web开发,模板引擎是必不可少的。Perfect支持Mustache和SwiftTemplate两种模板语言。这些模板可以用来动态生成HTML页面,从而实现与...
在实际操作中,可以使用如Blackberry Backup Extractor、IPD Viewer等工具,它们能解压`.ipd`文件,并以人类可读的形式显示数据。 源码标签提示我们可能需要编写或利用现有的源代码来实现这个功能。如果你是开发者...
- **Back-bdb Challenges**: Despite BDB maintaining its own internal cache, early benchmarks showed that retrieving entries directly from the database on every query was too slow. As a result, ...
在Linux环境下,安装和配置DBI(Perl Database Interface)是一个重要的技术任务,尤其对于需要使用Perl语言连接数据库的开发者来说。DBI是Perl语言中连接数据库的标准接口,它提供了与各种数据库系统的互操作性,...
移植过程主要涉及在宿主机(RHEL5U3)上使用arm-linux-gcc交叉编译工具链进行编译。 首先,我们需要交叉编译SQLite 3.6.14,这是一个轻量级的关系型数据库,Python 2.5.4可能会依赖它。从SQLite官方网站下载...
在IT领域,Berkeley DB(BDB)是一款由Oracle公司维护的高性能嵌入式数据库系统,它以其高效、可靠和灵活的特点在众多应用程序中得到了广泛的应用。Berkeley DB支持多种数据模型,包括键值对存储、关系型数据库以及B...
在软件开发中,尤其是使用Ruby语言时,往往需要在不同的项目间切换不同的Ruby版本,RVM为此提供了方便。它允许你在同一台计算机上安装并切换不同版本的Ruby,包括稳定版、开发版和预发布版。这对于保持开发环境的...
Tokyo-Cabinet是一款高效、轻量级且功能强大的键值对存储系统,...综上所述,Tokyo-Cabinet.tar.gz包含了Tokyo Cabinet的源代码和相关文件,通过解压和编译,用户可以在自己的系统上构建和使用这个高效的键值存储系统。
本篇文章将探讨如何在系统中实现多个Ruby版本的共存,并利用Passenger进行部署。 首先,我们需要了解如何在Linux环境中管理多个Ruby版本。Ruby Version Manager (RVM) 是一个非常实用的工具,允许用户在单个系统上...
附录部分包含了一些额外信息,如Subversion中BDB和FSFS两种存储格式的比较,常见问题解答(FAQ)以及`htpasswd`的使用方法,这些都是在SVN管理和日常操作中可能会遇到的实用知识。 综上所述,SVN在Red Hat上的安装...
这在多人协作项目中非常有用,每个人可以在自己的分支上开发新功能,然后将改动合并回主分支。 3. 合并:当分支上的工作完成后,可以通过合并操作将改动合并回主分支。Subversion提供了强大的冲突解决机制,帮助...
使用`rpm -ivh`命令进行安装,对于特定依赖如sqlite,则需使用`rpm -Uvh`命令更新安装。 ##### 2.2 检查 安装完成后,通过`svnserve --version`或`svn --version`命令检查SVN的版本信息,确保安装成功。同时,确认...