java查询读出SQLite数据库文件中的数据
工具:
sqlite-jdbc-3.21.0.jar(其他版本也可以)
SQLite的图形化管理工具——SQLite Expert Professional
eclipse
一.java与数据库的搭建
实现JAVA和SQLite数据库的连接需要用SQLite JDBC(Java Data Base Connectivity , java数据库连接)驱动。
1. SQLite JDBC下载:
http://mvnrepository.com/artifact/org.xerial/sqlite-jdbc/3.21.0.1
注:下载以后不能以压缩包的方式打开,避免被解压工具识别,直接形成.jar
2.SQLite- JDBC的引入
(1)创建一个【java项目】,此处命名为【SQLiteTest】
3.右击项目依次选择:【构建路径】
→【添加库…】→【用户库】→【新建】→【SQLitelib】→【确认】→点击右边【添加外部JAR(x)…】(在弹出的选择器中选择你对应下载的sqlite驱动的jar包)→【确认】
完成添加后可以发现项目多了我们刚刚添加的Libraries包了,里面也包含了我们添加的sqlite驱动的jar包
4.连接数据库
连接数据首先通过“Class.forName(“org.sqlite.JDBC”);“加载数据库驱动程序,主要用DriverManager类连接数据库。
连接数库的java程序如下:
package sqlite;
import java.sql.*;//导入java.sql包中相关类
public class sqldb {
private Connection connect()
{
Connection conn = null;//定义数据库连接对象
try {
String url = "jdbc:sqlite:C:/sqlite/test.db"; //定义连接数据库的url(url:访问数据库的URL路径),test为数据库名称
Class.forName("org.sqlite.JDBC");//加载数据库驱动
conn = DriverManager.getConnection(url); //获取数据库连接
System.out.println("数据库连接成功!\n");//数据库连接成功输出提示
}
//捕获异常信息
catch (ClassNotFoundException | SQLException e) {
System.out.println("数据库连接失败!"+e.getMessage());
}
return conn;//返回一个连接
}
//定义一个main方法
public static void main(String[] args) {
connect();
}
}
二.用SQLite Expert Professional在SQLite数据库文件中加表
点击数据库,【左键】→【New Table】,输入表名→点击【Columns】中【Add】依次添加需要的主信息,设置属性→点击【Primary Key】中【Add】设置主键→【Apply】→点击【Data】,点击【+】,点击列添加记录。
三.java读出表格,显示于控制台
1.java程序读出SQLite表格
通过connection对象的createStatement()方法可以得到Statement的实例,然后
通过selectAll() 方法查询出所有记录,并将查询结果放到ResultSet结果集中,最后输出查询的数据。
读取表数据的Java程序:
package sqlite;
import java.sql.*;//导入java.sql包中相关类
public class INFOR {
private Connection connect()
{
Connection conn = null;//定义数据库连接对象
try {
String url = "jdbc:sqlite:C:/sqlite/test.db"; //定义连接数据库的url(url:访问数据库的URL路径),test为数据库名称
Class.forName("org.sqlite.JDBC");//加载数据库驱动
conn = DriverManager.getConnection(url); //获取数据库连接
System.out.println("数据库连接成功!\n");//数据库连接成功输出提示
}
//捕获异常信息
catch (ClassNotFoundException | SQLException e) {
System.out.println("数据库连接失败!"+e.getMessage());
}
return conn;//返回一个连接
}
public void selectAll() { //选择 文本区 中的所有文本。在 null 或空文档上不执行任何操作。
String sql="Select *from Information";//将从表中查询到的的所有信息存入sql
try {
Connection conn = this.connect();
Statement stmt = conn.createStatement();//得到Statement实例
ResultSet rs = stmt.executeQuery(sql);//执行SQL语句返回结果集
//输出查询到的记录的内容(表头)
System.out.println("姓名"+ "\t"+"性别"+ "\t"+"年龄"+ "\t");
// 当返回的结果集不为空时,并且还有记录时,循环输出记录
while (rs.next()) {
//输出获得记录中的"name","sex","age"字段的值
System.out.println(rs.getString("name") + "\t" + rs.getString("sex")+ "\t" +rs.getInt("age"));
}
}
catch (SQLException e) {
System.out.println("查询数据时出错!"+e.getMessage());
}
}
//定义main方法
public static void main(String[] args) {
INFOR app = new INFOR();//创建了一个INFOR对象
app.selectAll();//调用对象的selectAll方法
}
}