首先在项目引入JAR:sqlite-jdbc-(VERSION).jar
|
|
连接到数据库(Connecting To Database) |
|
下面的代码演示了如何连接到一个现有的数据库。如果数据库不存在,那么它会被自动创建,最终返回一个数据库连接实例。 |
|
public class SQLiteJDBC { public static void main(String args[]) { Connection c = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:test.db"); c.close(); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); System.exit(0); } System.out.println("Opened database successfully"); } } |
创建一个表(Create a Table) |
下面的Java程序用于在先前创建的数据库中创建一个表: |
public class SQLiteJDBC { public static void main(String args[]) { Connection c = null; Statement stmt = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:test.db"); System.out.println("Opened database successfully"); stmt = c.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) "; stmt.executeUpdate(sql); stmt.close(); c.close(); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); System.exit(0); } System.out.println("Table created successfully"); } } |
|
||||||
插入操作(INSERT Operation) |
||||||
下面的Java程序演示了如何在COMPANY表中插入一些记录: |
||||||
public class SQLiteJDBC {
public static void main(String args[]) {
Connection c = null;
Statement stmt = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
c.setAutoCommit(false);
System.out.println("Opened database successfully");
stmt = c.createStatement();
String sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
+ "VALUES (1, 'Paul', 32, 'California', 20000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
+ "VALUES (2, 'Allen', 25, 'Texas', 15000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
+ "VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );";
stmt.executeUpdate(sql);
sql = "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) "
+ "VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );";
stmt.executeUpdate(sql);
stmt.close();
c.commit();
c.close();
} catch (Exception e) {
System.err.println(e.getClass().getName() + ": " + e.getMessage());
System.exit(0);
}
System.out.println("Records created successfully");
}
}
|
更新操作(UPDATE Operation) |
下面的Java代码演示了如何使用UPDATE语句来从本公司表更新任何记录,然后获取并显示更新的记录: |
public class SQLiteJDBC { public static void main(String args[]) { Connection c = null; Statement stmt = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:test.db"); c.setAutoCommit(false); System.out.println("Opened database successfully"); stmt = c.createStatement(); String sql = "UPDATE COMPANY set SALARY = 25000.00 where ID=1;"; stmt.executeUpdate(sql); c.commit(); ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); String address = rs.getString("address"); float salary = rs.getFloat("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); System.out.println(); } rs.close(); stmt.close(); c.close(); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); System.exit(0); } System.out.println("Operation done successfully"); } }
|
编译并运行后,在控制台的输出: |
Opened database successfully ID = 1 NAME = Paul AGE = 32 ADDRESS = California SALARY = 25000.0
ID = 2 NAME = Allen AGE = 25 ADDRESS = Texas SALARY = 15000.0
ID = 3 NAME = Teddy AGE = 23 ADDRESS = Norway SALARY = 20000.0
ID = 4 NAME = Mark AGE = 25 ADDRESS = Rich-Mond SALARY = 65000.0
Operation done successfully |
|
删除操作(DELETE Operation) |
下面的Java代码显示了如何使用DELETE语句删除任何记录,然后获取并显示公司表中未被删除的记录: |
public class SQLiteJDBC { public static void main(String args[]) { Connection c = null; Statement stmt = null; try { Class.forName("org.sqlite.JDBC"); c = DriverManager.getConnection("jdbc:sqlite:test.db"); c.setAutoCommit(false); System.out.println("Opened database successfully"); stmt = c.createStatement(); String sql = "DELETE from COMPANY where ID=2;"; stmt.executeUpdate(sql); c.commit(); ResultSet rs = stmt.executeQuery("SELECT * FROM COMPANY;"); while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); int age = rs.getInt("age"); String address = rs.getString("address"); float salary = rs.getFloat("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); System.out.println(); } rs.close(); stmt.close(); c.close(); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); System.exit(0); } System.out.println("Operation done successfully"); } }
|
编译并运行后,在控制台的输出: |
Opened database successfully ID = 1 NAME = Paul AGE = 32 ADDRESS = California SALARY = 25000.0
ID = 3 NAME = Teddy AGE = 23 ADDRESS = Norway SALARY = 20000.0
ID = 4 NAME = Mark AGE = 25 ADDRESS = Rich-Mond SALARY = 65000.0
Operation done successfully |
相关推荐
"sqlite-jdbc-3.23.1.7z"这个压缩包包含的是SQLite JDBC驱动的特定版本——3.23.1。 SQLite JDBC驱动是Java的JDBC(Java Database Connectivity)接口的一个实现,允许Java程序通过JDBC API连接到SQLite数据库。这...
这个"sqlite3-3.26.0.zip"压缩包包含的是 SQLite3 的特定版本——V3.26.0,它经过了重新编译,并且在默认情况下启用了外键约束功能。这一改动意味着在使用这个版本的 SQLite3 时,你无需在 SQL 命令中额外设置来启用...
值得注意的是,虽然MySQL Connector/J可以在Android上运行,但在实际应用中,出于安全和性能考虑,通常会使用ORM框架(如SQLite或Realm)或者云数据库服务(如Firebase Realtime Database)来代替直接操作JDBC。...
在JSP应用中,通常会使用JDBC(Java Database Connectivity)API来与SQLite进行交互,执行SQL语句,实现数据的增删改查。 源码的学习和分析可以从以下几个方面入手: 1. **页面结构**:查看JSP文件,了解各个页面...
然而,Android并不直接支持JDBC,因为它是Java标准版的一部分,而Android使用的是Java克隆版——Dalvik虚拟机。因此,需要第三方库如JDBC-ODBC桥接或特定数据库的JDBC驱动(如jTDS)来实现这个功能。 在Android应用...
在本例中,我们关注的是GeoServer的一个特定插件——"gwc-sqlite-plugin",这是针对GeoServer的全球瓦片缓存(Global Web Coverage Service, GWC)功能的SQLite扩展。 GeoServer的GWC功能允许高效地存储和分发地理...
在Windows平台上有一个由David Crawshaw编写的`sqlitejdbc-v056.jar`驱动,但由于该驱动包含了本地代码且需要转换为适用于Dalvik虚拟机的DEX格式,因此无法直接在Android环境中使用。此外,该驱动文件体积较大,不...
相较于传统数据库接口JDBC可能带来的资源开销,Android提供了专门的API来操作SQLite,更加适合内存受限的移动设备。应用程序的数据库文件通常存储在`data/<项目文件夹>/databases/`目录下。 #### 在Android中使用...
这个小例子——“SQLite的小例子--备忘录”旨在介绍如何在编程中使用SQLite来实现一个简单的备忘录功能。SQLite是开源的,不需要单独的服务进程,可以直接将数据存储在文件中,方便集成到各种应用程序中。 首先,...
在Java环境下,我们可以使用SQLite-JDBC驱动程序来连接和操作SQLite数据库。通过JDBC(Java Database Connectivity)接口,开发者可以编写SQL查询来获取、插入或更新数据库中的数据。 接着,Excel文件常用于存储和...
在实际开发中,更推荐使用Android官方支持的数据库如SQLite,或者使用其他针对Android优化的JDBC驱动,如jTDS,或者通过RESTful API等方式与后端数据库通信。 在使用这个源码示例时,记得检查jdts.jar是否兼容你的...
无论是编程语言还是脚本语言,甚至是ODBC/JDBC接口,最终都需要通过SQLite C API来与数据库进行通信。 2. **编译器(Compiler)**:这一部分负责将SQL查询语句解析并转换为内部可以处理的数据结构——语法树。具体...
这个系统是使用Java编程语言,具体是利用Java的Swing组件来创建图形用户界面(GUI),并与SQLite本地数据库进行交互,无需依赖外部服务器。 在数据库课程设计中,这个项目涵盖了多个关键知识点: 1. **Java Swing*...
数据库课程设计——图书管理系统是一项常见的IT实践项目,旨在让学生深入理解和掌握数据库管理和Web应用程序开发的基本原理。这个项目包括两个版本:一个基于图形用户界面(GUI)的系统和一个基于浏览器/服务器(B/S...
《jCrontab与SQLite数据库的完美融合——构建高效定时任务系统》 jCrontab是一款在Java环境中广泛使用的任务调度库,它以其灵活性和强大的功能,深受开发者喜爱。本文将深入探讨如何利用jCrontab与SQLite数据库进行...
4. **兼容性**:确保与SQLite 3.11.0的API兼容,这意味着大多数SQLite的使用方式在SqlCipher中仍然有效。 5. **跨平台**:SqlCipher支持多种操作系统,包括Windows、Linux、macOS、iOS和Android等,方便在各种环境...
【标题】"数据库实践——SQLite与Java的结合应用" 【正文】 在信息技术领域,数据库是存储和管理数据的核心工具。本项目"DataBasePractice"聚焦于数据库的实际应用,特别是在Java环境中利用SQLite数据库进行数据...
Java通过JDBC(Java Database Connectivity)提供与各种数据库的接口,如MySQL、SQLite等。开发者需要编写SQL语句进行增删改查操作,处理用户数据。 6. **面向对象设计** 用户管理系统中的每个功能模块,如用户...
在实际项目中,考虑到性能和用户体验,通常会使用像SQLite这样的本地数据库来缓存数据,或者利用像Room Persistence Library这样的库进行数据管理。对于远程数据库操作,可以采用异步任务(AsyncTask)、Retrofit库...
- JDBC(Java Database Connectivity):连接并操作数据库,如MySQL或SQLite,以存储用户提交的问卷数据。了解如何执行SQL查询、插入、更新和删除数据。 8. **多线程**: - 在用户提交问卷后,可能需要在后台进行...