Core interfaces for JSDBC — a JDBC-inspired database access facade for JavaScript. This package provides the abstract base classes that all JSDBC drivers implement.
Part of the @alt-javascript/jsdbc monorepo.
npm install @alt-javascript/jsdbc-core| Class | Role |
|---|---|
Driver |
Creates connections to a specific database. Self-registers with DriverManager. |
DriverManager |
Static registry. Matches JSDBC URLs to registered drivers. |
Connection |
A session to a database. Creates statements, manages transactions. |
Statement |
Executes ad-hoc SQL (DDL). |
PreparedStatement |
Executes parameterised SQL with ? placeholders (DML, queries). |
ResultSet |
Query results with cursor-based and bulk access. |
DataSource |
Connection factory. Create once, call getConnection() per unit of work. |
SingleConnectionDataSource |
Returns the same connection repeatedly. For in-memory databases. |
You don't use jsdbc-core alone — install it alongside a driver:
npm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-sqliteimport { DataSource } from '@alt-javascript/jsdbc-core';
import '@alt-javascript/jsdbc-sqlite'; // self-registers
const ds = new DataSource({ url: 'jsdbc:sqlite:./myapp.db' });
const conn = await ds.getConnection();
const ps = await conn.prepareStatement('SELECT * FROM users WHERE id = ?');
ps.setParameter(1, 42);
const rs = await ps.executeQuery();
console.log(rs.getRows());
rs.close();
await conn.close();Implement four classes extending the core abstractions. See the Driver Guide.
MIT