Java的SQLite使用例子

本文概要

  • 连接到SQLite数据库
  • 使用Java创建数据库
  • 创建使用Java表
  • 在表插入记录
  • 查询记录
与Java程序使用SQLite,你必须有SQLite的JDBC驱动程序和Java建立在系统上。按照下面的步骤:
  • 从sqlite的-JDBC库下载最新版本的sqlite-JDBC-(VERSION)的.jar的。
  • 下载的jar文件添加到类路径。
  • 现在,你可以使用Java连接到SQLite数据库。
连接到SQLite数据库【Java的SQLite使用例子】使用下面的代码连接到使用Java编程语言的SQLite数据库:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Connect { /** * Connect to a sample database */ public static void connect() { Connection conn = null; try { // db parameters String url = "jdbc:sqlite:C:/sqlite/JTP.db"; // create a connection to the database 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()); } } } /** * @param args the command line arguments */ public static void main(String[] args) { connect(); } }

它与你已经创建的数据库连接JTP.db.
使用Java创建数据库你也可以使用Java编程语言创建SQLite中一个新的数据库。让我们创建一个名为“SSSIT.db”数据库。创建一个公共类“创建”,使用下面的代码:
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.SQLException; public class Create {public static void createNewDatabase(String fileName) { String url = "jdbc:sqlite:C:/sqlite/" + fileName; try { Connection conn = DriverManager.getConnection(url); if (conn != null) { DatabaseMetaData meta = conn.getMetaData(); System.out.println("The driver name is " + meta.getDriverName()); System.out.println("A new database has been created."); } } catch (SQLException e) { System.out.println(e.getMessage()); } }public static void main(String[] args) { createNewDatabase("SSSIT.db"); } }

现在创建了一个名为“SSSIT.db”新的数据库。你可以看到它,你已经安装了SQLite的。
创建使用Java表让我们创建一个名为“员工”列有“名”和“能力”表。创建一个类名“CREATETABLE”,具有下面的代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class CreateTable { public static void createNewTable() { // SQLite connection string String url = "jdbc:sqlite:C://sqlite/SSSIT.db"; // SQL statement for creating a new table String sql = "CREATE TABLE IF NOT EXISTS employees (\n" + " id integer PRIMARY KEY,\n" + " name text NOT NULL,\n" + " capacity real\n" + "); "; try{ Connection conn = DriverManager.getConnection(url); Statement stmt = conn.createStatement(); stmt.execute(sql); } catch (SQLException e) { System.out.println(e.getMessage()); } } /** * @param args the command line arguments */ public static void main(String[] args) { createNewTable(); } }

它会创建SSSIT.db数据库中的表“雇员”。
在表插入记录创建表后,使用下面的代码在表中插入一些记录。创建一个新的类“InsertRecords”,具有以下代码:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class InsertRecords { private Connection connect() { // SQLite connection string String url = "jdbc:sqlite:C://sqlite/SSSIT.db"; Connection conn = null; try { conn = DriverManager.getConnection(url); } catch (SQLException e) { System.out.println(e.getMessage()); } return conn; } public void insert(String name,double capacity) { String sql = "INSERT INTO employees(name,capacity) VALUES(?,?)"; try{ Connection conn = this.connect(); PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1,name); pstmt.setDouble(2,capacity); pstmt.executeUpdate(); } catch (SQLException e) { System.out.println(e.getMessage()); } } public static void main(String[] args) { InsertRecords app = new InsertRecords(); // insert three new rows app.insert("Aryan",30000); app.insert("Robert",40000); app.insert("Jerry",50000); } }

现在,记录插入到表中。你可以使用SELECT命令检查出来:
查询记录从表中选择记录,使用下面的代码。创建一个新的类“SelectRecords”,具有下列数据。
import java.sql.DriverManager; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public class SelectRecords { private Connection connect() { // SQLite connection string String url = "jdbc:sqlite:C://sqlite/SSSIT.db"; Connection conn = null; try { conn = DriverManager.getConnection(url); } catch (SQLException e) { System.out.println(e.getMessage()); } return conn; } public void selectAll(){ String sql = "SELECT * FROM employees"; try { Connection conn = this.connect(); Statement stmt= conn.createStatement(); ResultSet rs= stmt.executeQuery(sql); // loop through the result set while (rs.next()) { System.out.println(rs.getInt("id") +"\t" + rs.getString("name") + "\t" + rs.getDouble("capacity")); } } catch (SQLException e) { System.out.println(e.getMessage()); } }/** * @param args the command line arguments */ public static void main(String[] args) { SelectRecords app = new SelectRecords(); app.selectAll(); } }

输出:
你可以看到,它显示了所有我们插入一次的记录。
注:通过使用相同的过程,你可以更新和删除表和数据库。

    推荐阅读