最近项目上要运行sqlite数据库,但是在使用的过程中发生了很多纠结的问题,让我心情很忧伤。但是我终于在话费一番功夫之后运行成功了,所以,我决定把我成功的经验拿来分享。
首先java运行需要下载sqlite-jdbc的jar包,我在maven中心仓库中寻找合适的jar。如图:
我选择的是sqlite-jdbc的3.23.1版本的jar,但是后来发现这个版本的jar在官网中并不存在,
我的java是创建的maven项目,如图:
程序代码是这样的
package com.sqlite;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SqliteTest {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("org.sqlite.JDBC");
String db = "C:\\Users\\tdht\\Desktop\\test.db";
Connection conn = DriverManager.getConnection("jdbc:sqlite:" + db);
Statement state = conn.createStatement();
ResultSet rs = state.executeQuery("select * from company;"); //查询数据
while (rs.next()) { //将查询到的数据打印出来
System.out.print("name = " + rs.getString("name") + " "); //列属性一
System.out.println("age = " + rs.getString("age")); //列属性二
}
rs.close();
conn.close();
}
}
现在在官网查看有没有对应的sqlite下载
发现官网的下载的版本是3.25.2的因为3250200就是这样解释的,后面两个00不知道含义,但是前面的含义就是3.25.2
根据这个规则
sqlite-shell-win32-x86-
sqlite-dll-win32-x86-
(注意:
我们可以直接编写url地址下载
但是我想下载的3.23.1的版本还是不确定的,如何确定呢?
就是查看版本信息
我搞错了,但是基本上很接近了,
最后拼接的url是:
https://www.sqlite.org/2018/sqlite-dll-win32-x86-3230000.zip
https://www.sqlite.org/2018/sqlite-tools-win32-x86-3230000.zip
下载之后全部解压到一个文件夹中,我这里是d:sqlite
然后配置环境变量Path
使用cmd
sqlite3 test.db
.databases
这样就创建了test.db文件。
创建db文件之后,就可以使用
图形可视化工具创建表和数据。
我这里下载的是sqlite studio,
选择
ok就连接好了。sqlite只能本地连接,就是只能是打开本地文件,没有ip地址连接啊,
然后创建表和数据
create table company(
id int primary key,
name varchar(20),
age short,
address varchar(50),
salary decimal(10,3)
);
insert into company values(1,'Paul', 32, 'California', 20000);
insert into company values(2,'Allen', 25, 'Texas', 15000);
insert into company values(3,'Teddy', 23, 'Norway', 20000);
insert into company values(4,'Mark', 25, 'Rich-Mond', 65000);
insert into company values(5,'David', 27, 'Texas', 85000);
insert into company values(6,'Kim', 22, 'South-Hal', 45000);
insert into company values(7,'James', 24, 'Houston', 10000);
insert into company values(8,'Paul', 24, 'Houston', 20000);
insert into company values(9,'James', 44, 'Norway', 5000);
这样数据就弄好了。
运行java项目,没有任何报错,输出结果:
name = Paul age = 32
name = Allen age = 25
name = Teddy age = 23
name = Mark age = 25
name = David age = 27
name = Kim age = 22
name = James age = 24
name = Paul age = 24
name = James age = 44