java查询读出SQLite数据库文件中的数据

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方法
        }

    }



2.执行结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yangdan1025/article/details/80313158