Skip to content

Latest commit

 

History

History

README.md

@alt-javascript/jsdbc-core

Language npm version License: MIT CI

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.

Install

npm install @alt-javascript/jsdbc-core

Interfaces

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.

Usage

You don't use jsdbc-core alone — install it alongside a driver:

npm install @alt-javascript/jsdbc-core @alt-javascript/jsdbc-sqlite
import { 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();

Writing a Driver

Implement four classes extending the core abstractions. See the Driver Guide.

License

MIT