首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

在bdb中应用SQLite

2012-12-28 
在bdb中使用SQLite首发地址:http://inmethetiger.iteye.com/blog/1680669在bdb中的原生态包中并不包含对SQ

在bdb中使用SQLite

首发地址: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的方法类似。最重要的是驱动包的加载方式。

热点排行