本文概要
- 连接到SQLite数据库
- 使用Java创建数据库
- 创建使用Java表
- 在表插入记录
- 查询记录
- 从sqlite的-JDBC库下载最新版本的sqlite-JDBC-(VERSION)的.jar的。
- 下载的jar文件添加到类路径。
- 现在,你可以使用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();
}
}
输出:
你可以看到,它显示了所有我们插入一次的记录。
注:通过使用相同的过程,你可以更新和删除表和数据库。
推荐阅读
- SQLite的导出
- SQLite的导入
- SQLite的外键
- SQLite的主键
- SQLite Drop触发器
- SQLite After Delete触发器
- SQLite After Insert触发器
- SQLite的COUNT函数
- SQLite After Update触发器