sqlite数据库使用与测试
发布时间:2020-12-12 19:28:40 所属栏目:百科 来源:网络整理
导读: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.Re
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为本地文件数据库,不能通过远程网络访问,如果访问的程序与数据库不在同一台机器上,有以下几种方式连接: 第一种:数据库文件共享出来供访问,此种方案要考虑安全性 第二种:在数据库服务器上增加附加功能,把数据传给关系型数据库,如mysql 第三种:在数据库服务器上增加额外功能,提供中转服务,搭建外部调用与数据库文件之间的桥梁,如socket连接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |