在Java下连接SQLite数据库

一、下载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:

 1  import  java.sql. * ;
 2  import  org.sqlite.JDBC;
 3 
 4  public   class  SQLiteTest {
 5       public   static   void  main(String[] args) {
 6           try  {
 7               //  The SQLite (3.3.8) Database File
 8               //  This database has one table (pmp_countries) with 3 columns (country_id, country_code, country_name)
 9               //  It has like 237 records of all the countries I could think of.
10              String fileName  =   " c:/pmp.db " ;
11               //  Driver to Use
12               //   http://www.zentus.com/sqlitejdbc/index.html
13              Class.forName( " org.sqlite.JDBC " );
14               //  Create Connection Object to SQLite Database
15               //  If you want to only create a database in memory, exclude the +fileName
16              Connection conn  =  DriverManager.getConnection( " jdbc:sqlite: " + fileName);
17               //  Create a Statement object for the database connection, dunno what this stuff does though.
18              Statement stmt  =  conn.createStatement();
19               //  Create a result set object for the statement
20              ResultSet rs  =  stmt.executeQuery( " SELECT * FROM pmp_countries ORDER BY country_name ASC " );
21               //  Iterate the result set, printing each column
22               //  if the column was an int, we could do rs.getInt(column name here) as well, etc.
23               while  (rs.next()) {
24                  String id    =  rs.getString( " country_id " );    //  Column 1
25                  String code  =  rs.getString( " country_code " );  //  Column 2
26                  String name  =  rs.getString( " country_name " );  //  Column 3
27                  System.out.println( " ID:  " + id + "  Code:  " + code + "  Name:  " + name);
28 
29              }
30               //  Close the connection
31              conn.close();
32          }
33           catch  (Exception e) {
34               //  Print some generic debug info
35              System.out.println(e.getMessage());
36              System.out.println(e.toString());
37          }
38      }
39  }

 

代码段2:

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 import java.sql.*;
 2 import org.sqlite.JDBC;
 3 /**
 4  * 这是个非常简单的SQLite的Java程序,
 5  * 程序中创建数据库、创建表、然后插入数据,
 6  * 最后读出数据显示出来
 7  * @author zieckey (http://zieckey.cublog.cn)
 8  */
 9 public class TestSQLite{
10     public static void main(String[] args){
11         try{
12          //连接SQLite的JDBC
13          Class.forName("org.sqlite.JDBC");         
14          //建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之
15          Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db");         
16          Statement stat = conn.createStatement();
17 
18          stat.executeUpdate( "create table tbl1(name varchar(20), salary int);" );//创建一个表,两列
19          stat.executeUpdate( "insert into tbl1 values('ZhangSan',8000);" ); //插入数据
20          stat.executeUpdate( "insert into tbl1 values('LiSi',7800);" );
21          stat.executeUpdate( "insert into tbl1 values('WangWu',5800);" );
22          stat.executeUpdate( "insert into tbl1 values('ZhaoLiu',9100);" ); 
23  
24          ResultSet rs = stat.executeQuery("select * from tbl1;"); //查询数据 
25 
26          while (rs.next()) { //将查询到的数据打印出来
27              System.out.print("name = " + rs.getString("name"+ " "); //列属性一
28              System.out.println("salary = " + rs.getString("salary")); //列属性二
29          }
30          rs.close();
31          conn.close(); //结束数据库的连接 
32         }
33         catch( Exception e )
34         {
35          e.printStackTrace ( );
36         }
37     }
38 }

转载于:https://www.cnblogs.com/etindex/archive/2009/03/10/1408210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值