1、使用sqlitedev安装和管理数据库,为sqlite3,创建的数据库默认在sqlite的安装目录下;
2、项目中引入sqlite-jdbc-3.7.2.jar;
3、添加测试类,如下:
package com.zcb.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import junit.framework.Assert; import org.junit.After; import org.junit.Before; import org.junit.Test; /** * 测试sqlite数据库 * @author zcb * */ public class MysqLiteTest { private Connection conn=null; @Before public void getConnection() { // synchronized (conn) { if (conn == null) { try{ // 连接sqlite的JDBC Class.forName("org.sqlite.JDBC"); // 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之 conn = DriverManager .getConnection("jdbc:sqlite:c:/Program Files/sqliteDev/zcbtest","--","--"); // // 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 current_status_tb;"); // 查询数据 //// ResultSet rs = stat //// .executeQuery("SELECT date('now');"); // 查询数据 // // while (rs.next()) { // 将查询到的数据打印出来 // // System.out.print("name = " + rs.getString("product_name") // + " "); // 列属性一 //// System.out.print("name = " + rs.getString(1)+ " "); // 列属性一 // // System.out.println("machine = " // + rs.getString("machine_id")); // 列属性二 // // } // rs.close(); // conn.close(); // 结束数据库的连接 }catch(Exception e){ e.printStackTrace(); } } // } } @Test public void mytest(){ try{ Statement stat = conn.createStatement(); ResultSet rs = stat .executeQuery("Select * From current_status_tb;"); // 查询数据 // ResultSet rs = stat // .executeQuery("SELECT date('now');"); // 查询数据 // // stat.executeUpdate("insert into current_status_tb(data_id,product_name,machine_id) " + // "values(3,'abc','acb');"); while (rs.next()) { // 将查询到的数据打印出来 System.out.print("name = " + rs.getString("product_name") + " "); // 列属性一 System.out.println("machine = " + rs.getString("machine_id")); // 列属性二 } rs.close(); }catch(Exception e){ e.printStackTrace(); Assert.assertTrue(false); }finally{ } } @After public void tearDown(){ try{ if(conn!=null){ conn.close(); } }catch(Exception e){ e.printStackTrace(); Assert.assertTrue(false); } } }
4.补充说明
4.1 连接数据库时,路径中的盘符不能为大写,数据库名称后缀根据创建时定,可没有后缀;
4.2 连接数据库时,sqlite默认没有用户名和密码,与spring集成配置时,用户名和密码输入非空字符,都能连接数据库
4.2 sqlite为本地文件数据库,不能通过远程网络访问,如果访问的程序与数据库不在同一台机器上,有以下几种方式连接: