嵌入式数据库sqlite 的简单使用

业务需求,数据搜索查询,本来是直接在服务器远程指令查询,感觉非常方便,奈何一个三炮(SB)提的需求,想要本地便携式查询数据。

当时一万个草泥马从脑顶飞过,明显是闲着蛋疼。。。

“生活就想是被XX,既然无力抵抗,倒不如闭上眼好好享受~”--qq5w

扯淡完毕,切入主题。


查找了很多的嵌入式的数据库,我们的数据源大概是1千万左右的数据,最终选择的是sqlite这款。无论从稳定性,性能,存储大小来说,都满足需求。


一、安装sqlite

首先我们需要sqlite数据库安装文件,具体在官网有下载。

1:sqlite-dll-win32-x86-3140200  

http://pan.baidu.com/s/1mh9siE0


2:sqlite-tools-win32-x86-3140200

http://pan.baidu.com/s/1jIHJV8q


3:在C盘创建:C:\sqlite 文件,然后将下载下来的两个文件解压到sqlite文件中(盘符可以随便)

      如图:1.png嵌入式数据库sqlite 的简单使用_第1张图片


4:配置path环境变量(不多说了,配置java环境应该都会)

5:cd 进入sqlite文件中 然后运行sqlite3.exe (或者直接打开sqlite3.exe)

嵌入式数据库sqlite 的简单使用_第2张图片

如图为安装配置正常显示


二、制作嵌入式的.db

我们公司的服务器是sql server 服务器。

这里有款软件叫做sql server to sqlite db converter 

直接能将数据库的数据转换为.db文件(sqlite数据库)

下载地址:http://pan.baidu.com/s/1kVpXAz9

嵌入式数据库sqlite 的简单使用_第3张图片


三、导入sqlite可视化工具

凡是什么数据库,用可视化工具会方便很多,sqlite也一样。

这里我推荐一款叫做sqlitestudio的软件,很方便

下载地址:http://pan.baidu.com/s/1slB0caD

把我们上步获得的.db文件导入数据库。

查看数据是否有误。


四、java访问嵌入式数据

jar包 下载地址:http://pan.baidu.com/s/1hsfUt1M

首先我们将我们的.db文件考入我们的工程的根目录下,例如temp2.db


代码如下

public class SQLiteTest
{


public static void main(String args[])
{
File directory = new File("temp2.db");
//1
String fileName = directory.getAbsolutePath().toLowerCase().replace("\\", "/");
//2 e:\eclipse-standard-kepler-sr2-win32-x86_64\eclipse\d\workspace\javastaduy\temp2.db
try
{
Class.forName("org.sqlite.JDBC");
//3
Connection conn = DriverManager.getConnection("jdbc:sqlite://"+fileName);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from userName");
while(rs.next())
{
String id = rs.getString("id");
String name = rs.getString("name");
System.out.println("id:"+id+" name:"+name);
}
}
catch (ClassNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}


}
}



细心的应该能看到我在1的位置做了很繁琐的操作,把 路径中的 \换成了/


以下是楼主个人的观点,要是理解的不正确,需大牛出来指正。

3代码的位置路径应该是jdbc:sqlite:/C:/xxx.db

这个应该是延续了linux系统的文件路径方式。

而我们window系统的路径一般都是C:\的形式。

所以我们把路径格式模板替换。

而且我做了大小写的处理,linux系统是大小写敏感的,楼主也不清楚为什么盘符C 大写的时候总是报错(out of memory 这个异常)

我的.db数据就3条数据,怎么会内存溢出呢?

但是改写成c:/就没问题了,应该是类似linux大小写的问题。



你可能感兴趣的:(嵌入式数据库sqlite 的简单使用)