一、 java语言与SQLite数据库文件的连接
1.开发工具
jdk1.8 下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
eclipse 下载地址:
http://www.eclipse.org/downloads/
SQLite下载和安装见本人博客:
https://blog.csdn.net/qq_42446456/article/details/80919813
SQLite的图形化管理工具下载和安装见本人博客:
https://blog.csdn.net/qq_42446456/article/details/81038979
sqlite-jdbc-3.23.1.jar 下载地址:
https://bitbucket.org/xerial/sqlite-jdbc/downloads/
2.软件配置
首先要在win7/8/10上 安装并配置java jdk1.8 ,修改配置环境变量详情请参见:
https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html
其次,要从eclipse官网下来并解压eclipse,详情如下:
https://jingyan.baidu.com/article/d7130635194f1513fcf47557.html
最后为了实现JAVA和SQLite数据库的连接,还需要从gethub官网下载SQLite JDBC(Java Data Base Connectivity , java数据库连接)驱动。JDBC全称是Java DataBase Connectivity,是一种可用于执行SQL语句的Java API(Application Programming Interface,应用程序接口),是连接数据库和Java应用程序的纽带。
本篇最主要的就是介绍创建JAVA项目并引入jdbc驱动,也就是引入java数据库连接(JDBC)。
步骤如下:
1.官网下载最新版本的sqlite-jdbc-3.23.1.jar。
2.打开Eclipse,创建一个java项目,命名为SQLiteTest,创建完成后如图所示:
3.在创建的项目中给Libraries添加sqlite驱动的jdbc.jar包:
右击项目依次选择:Build Path——》Add Libraries…,然后进入下一步 ;选择User Library,然后继续下一步 ;
4.点击窗口中出现的User Libraries…,再点击new…新建一个自己定义名称的Libraries包,如SQLiteLibrary,然后点确定进入下一步操作;
5.然后我们需要将sqlite驱动——jdbc.jar包引入到我们创建的空Libraries包中,点击右边的Add External JARs…,在弹出的选择器中选择对应下载的sqlite驱动jar包的地址;
6.完成添加后,我们可以发现项目中多了我们刚刚添加的Libraries包了,里面也包含了我们添加的sqlite驱动的jdbc.jar包;
3.JAVA连接数据库
使用java编程语言连接到SQLite数据库,编写程序代码如下:
import java.sql.Connection;//导入Java.sql包中的Connection类,用于与数据库的连接
import java.sql.DriverManager;//导入Java.sql包中的DriverManager类,管理一组JDBC驱动程序
import java.sql.ResultSet;//导入Java.sql包中的ResultSet类 ,表示数据库的结果,用于查询
import java.sql.Statement;//导入Java.sql包中的Statement类,执行sql语句,并返回生成的结果
import java.sql.SQLException;//导入Java.sql包中的Exception类,执行sql语句,寻找异常。
public class SQLiteConnection { //定义一个类,类名为SQLiteConnection
public static void connect() {
Connection conn = null; //声明数据库连接对象
try { //加载数据库驱动
String url = "jdbc:sqlite:F:/sqlite/testconn.db";
//定义连接数据库的url(url:访问数据库的URL路径),testconn为数据库名称
conn = DriverManager.getConnection(url);//获取数据库连接
System.out.println("Connection to SQLite has been established.");
} //数据库连接成功输出提示
catch (SQLException e) {
System.out.println(e.getMessage());
}
finally {
try {
if (conn != null) {
conn.close();
}
}
catch (SQLException ex) {
System.out.println(ex.getMessage());
}
}
}
public static void main(String[] args) {
connect();
} //定义一个main主函数
}
执行上面代码后,会创建一个文件:F:/sqlite/testconn.db,java语言与数据库testconn.db会连接。
二、手动用SQLite的图形化管理工具在SQLite数据库文件中加入一张表
如:
姓名 性别 年龄
张三 男 23
李四 女 18
。。。
1.启动SQLite Expert Professional——点击File选项——点击open Database——打开已经建立好的数据库testconn.db——选中数据库右键,点击“New Table”新建一张表;
2.添加列:点击“Design”,在Columns栏点击“Insert”后弹出的对话框内设置属性;
3.设置主键:点击“Primary Key”,点击“Insert”,在下拉菜单中选择需要设置为主键的列名 ;
4.点击“General”,输入Table Name设置表名,点击“Apply” ;
5.最后在Data表格中设定相应的数据。
如图所示:
三、用JAVA实现一程序,将SQLite数据库文件中的表读出来,显示在控制台窗口中。
成功建立Java与SQLite数据库的连接后,便可以查询、操作数据库中的表
读取表数据的Java程序:
import java.sql.Connection;//导入Java.sql包中的Connection类,用于与数据库的连接
import java.sql.DriverManager;//导入Java.sql包中的DriverManager类,管理一组JDBC驱动程序
import java.sql.ResultSet;//导入Java.sql包中的ResultSet类 ,表示数据库的结果,用于查询
import java.sql.Statement;//导入Java.sql包中的Statement类,执行sql语句,并返回生成的结果
import java.sql.SQLException;//导入Java.sql包中的Exception类,执行sql语句,寻找异常。
public class connection {
private Connection connect()
{
Connection conn = null;//定义数据库连接对象
try {
String url = "jdbc:sqlite:F:/sqlite/testconn.db";
//定义连接数据库的url(url:访问数据库的URL路径),testconn为数据库名称
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 SQLiteConnection";//将从表中查询到的的所有信息存入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()) {
//输出获得记录中的"姓名","性别","年龄"字段的值
System.out.println(rs.getString("姓名") + "\t" + rs.getString("性别")+ "\t" +rs.getInt("年龄"));
}
}
catch (SQLException e) {
System.out.println("查询数据时出错!"+e.getMessage());
}
}
//定义main主函数
public static void main(String[] args) {
connection app = new connection();//创建了一个connection对象
app.selectAll();//调用对象的selectAll方法
}
}