您的位置:首页 > 编程语言 > Java开发

在Java下连接SQLite数据库

2011-11-08 14:42 369 查看
一、下载SQLite数据库的JDBC:http://www.zentus.com/sqlitejdbc/

二、将下载到的包解压后得到jar包放到%JAVA_HOME%\lib下,并且将其添加到ClassPath系统环境变量中。一定要保证在类路径ClassPath中有该jar包,并且保证在JAVA库路径JAVA Library Path中有本地库Native Library(\workspace\"Web应用"\WebRoot\WEB-INF\lib\下最好也要加入该jar包)。"SQLite.JDBCDriver"作为JDBC的驱动程序类名。连接JDBC的URL格式为jdbc:sqlite:/path。这里的path为指定到SQLite数据库文件的路径,例如:

jdbc:sqlite://dirA/dirB/dbfile

jdbc:sqlite://DRIVE:/dirA/dirB/dbfile

jdbc:sqlite://COMPUTERNAME/shareA/dirB/dbfile

三、下面是使用SQLite的两段代码以供参考:

代码段1:

import java.sql.*;
import org.sqlite.JDBC;

public class SQLiteTest {
public static void main(String[] args) {
try {
// The SQLite (3.3.8) Database File
// This database has one table (pmp_countries) with 3 columns (country_id, country_code, country_name)
// It has like 237 records of all the countries I could think of.
String fileName = "c:/pmp.db";
// Driver to Use
// http://www.zentus.com/sqlitejdbc/index.html Class.forName("org.sqlite.JDBC");
// Create Connection Object to SQLite Database
// If you want to only create a database in memory, exclude the +fileName
Connection conn = DriverManager.getConnection("jdbc:sqlite:"+fileName);
// Create a Statement object for the database connection, dunno what this stuff does though.
Statement stmt = conn.createStatement();
// Create a result set object for the statement
ResultSet rs = stmt.executeQuery("SELECT * FROM pmp_countries ORDER BY country_name ASC");
// Iterate the result set, printing each column
// if the column was an int, we could do rs.getInt(column name here) as well, etc.
while (rs.next()) {
String id   = rs.getString("country_id");   // Column 1
String code = rs.getString("country_code"); // Column 2
String name = rs.getString("country_name"); // Column 3
System.out.println("ID: "+id+" Code: "+code+" Name: "+name);

}
// Close the connection
conn.close();
}
catch (Exception e) {
// Print some generic debug info
System.out.println(e.getMessage());
System.out.println(e.toString());
}
}
}

代码段2:

import java.sql.*;
import org.sqlite.JDBC;
/**
* 这是个非常简单的SQLite的Java程序,
* 程序中创建数据库、创建表、然后插入数据,
* 最后读出数据显示出来
* @author zieckey (http://zieckey.cublog.cn)
*/
public class TestSQLite{
public static void main(String[] args){
try{
//连接SQLite的JDBC
Class.forName("org.sqlite.JDBC");
//建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之
Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db");
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")); //列属性二
}
rs.close();
conn.close(); //结束数据库的连接
}
catch( Exception e )
{
e.printStackTrace ( );
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: