📅  最后修改于: 2023-12-03 14:42:16.170000             🧑  作者: Mango
Java SQLite示例演示了如何在Java中使用SQLite数据库。
SQLite是一种开放源代码的关系型数据库管理系统,它被设计用来嵌入其他应用程序中。SQLite是UDBMS的一种,全称为Ultra Small Database Management System。 SQLite与传统数据库不同,它并不采用SaaS的方式进行数据存储,而是实现了一个Zero-configuration、英文释义为“零配置”的、自给自足的、无需服务器和管理员的、接近零维护的嵌入式数据库。
Java是一种通用、类-based、并发、面向对象的编程语言,拥有许多不同于其他编程语言的特性。Java很适合用于开发面向服务器、手机、嵌入式设备和互联网的应用程序。
本示例将介绍如何在Java中使用SQLite数据库,演示如何创建、插入、查询和删除数据。
在Java中使用SQLite需要引入SQLite驱动程序,可以在以下链接中下载:
http://www.zentus.com/sqlitejdbc
下载后,将sqlitejdbc-v056.jar文件复制到项目的Classpath中。
在Java中使用SQLite需要创建一个Connection对象,表示与数据库的连接。可以使用以下代码创建连接:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection connection = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
System.err.println(e);
}
}
}
}
此代码创建了一个名为test.db的数据库,并建立了一个连接。
在Java中使用SQLite需要使用Statement对象执行SQL语句。可以使用以下代码创建一个表格:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
statement = connection.createStatement();
String sql = "CREATE TABLE COMPANY " +
"(ID INT PRIMARY KEY NOT NULL," +
" NAME TEXT NOT NULL, " +
" AGE INT NOT NULL, " +
" ADDRESS CHAR(50), " +
" SALARY REAL)";
statement.executeUpdate(sql);
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
System.err.println(e);
}
}
}
}
此代码创建了一个名为COMPANY的表格,并定义了五个字段。
在Java中使用SQLite需要使用PreparedStatement对象执行SQL语句。可以使用以下代码向表格中插入数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) " +
"VALUES (?,?,?,?,?)";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 1);
preparedStatement.setString(2, "Paul");
preparedStatement.setInt(3, 32);
preparedStatement.setString(4, "California");
preparedStatement.setDouble(5, 20000.00);
preparedStatement.executeUpdate();
preparedStatement.close();
connection.close();
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
System.err.println(e);
}
}
}
}
此代码向COMPANY表格中插入了一条数据。
在Java中使用SQLite需要使用Statement对象执行SQL语句,同时使用ResultSet对象存储查询结果。可以使用以下代码查询数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection connection = null;
Statement statement = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
statement = connection.createStatement();
String sql = "SELECT * FROM COMPANY";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
int id = resultSet.getInt("ID");
String name = resultSet.getString("NAME");
int age = resultSet.getInt("AGE");
String address = resultSet.getString("ADDRESS");
double salary = resultSet.getDouble("SALARY");
System.out.println("ID:" + id);
System.out.println("NAME:" + name);
System.out.println("AGE:" + age);
System.out.println("ADDRESS:" + address);
System.out.println("SALARY:" + salary);
}
resultSet.close();
statement.close();
connection.close();
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
try {
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
System.err.println(e);
}
}
}
}
此代码查询了COMPANY表格中的所有数据。
在Java中使用SQLite需要使用PreparedStatement对象执行SQL语句。可以使用以下代码删除数据:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class SQLiteJDBC {
public static void main(String[] args) {
Connection connection = null;
PreparedStatement preparedStatement = null;
try {
Class.forName("org.sqlite.JDBC");
connection = DriverManager.getConnection("jdbc:sqlite:test.db");
String sql = "DELETE FROM COMPANY WHERE ID=?";
preparedStatement = connection.prepareStatement(sql);
preparedStatement.setInt(1, 1);
preparedStatement.executeUpdate();
preparedStatement.close();
connection.close();
} catch (ClassNotFoundException e) {
System.err.println(e.getMessage());
} catch (SQLException e) {
System.err.println(e.getMessage());
} finally {
try {
if (preparedStatement != null) {
preparedStatement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
System.err.println(e);
}
}
}
}
此代码删除了COMPANY表格中ID为1的数据。
本示例演示了如何在Java中使用SQLite数据库,包括创建连接、创建表格、插入数据、查询数据和删除数据。SQLite是一种功能强大、小巧、可靠的数据库,适用于许多类型的应用程序。