js-mysql-orm
v1.0.2
Published
This is a lightweight custom Object-Relational Mapping (ORM) library written in JavaScript, designed to simplify interactions with MySQL databases. It allows you to create tables, insert, update, delete, and query records using a simple and chainable API.
Downloads
29
Readme
Custom JavaScript ORM for MySQL
This is a lightweight custom Object-Relational Mapping (ORM) library written in JavaScript, designed to simplify interactions with MySQL databases. It allows you to create tables, insert, update, delete, and query records using a simple and chainable API.
Features
- Easy MySQL connection setup
- Create and drop tables
- Insert, update, and delete records
- Query records with filtering options
- Chainable API for intuitive usage
Installation
Clone the repository:
git clone https://github.com/itzoverdark/js-mysql-orm
Install the required dependencies:
npm install mysql2
Usage
Connect to the Database
- Start by creating a connection to your MySQL database using the Database class.
const Database = require("./path/to/Database.js");
const db = new Database(
"127.0.0.1", // host
"root", // username
"password", // password
"mydb", // database name
3306 // port
);
db.connect()
.then(() => console.log("Connected to database"))
.catch((err) => console.error("Database connection error:", err));
Creating a Table
- Use the createTable method to create a new table in the database.
await db.createTable("users", {
id: { type: "number", primaryKey: true, autoIncrement: true },
name: { type: "string" },
age: { type: "number" },
});
Inserting Records
- Insert records using a chainable API.
await db.table("users")
.insert()
.records({ name: "Ishaq", age: 18 })
.execute();
- Insert multiple records:
await db.table("users")
.insert()
.records([{ name: "Alice", age: 25 }, { name: "Bob", age: 30 }])
.execute();
Querying Records
- Select all records from a table:
const users = await db.table("users").select().execute();
- Select specific columns with filtering:
const users = await db.table("users")
.select()
.columns("name", "age")
.where("age > 18")
.execute();
Updating Records
- Update records in the table:
await db.table("users")
.update()
.set({ age: 21 })
.where("name = 'Ishaq'")
.execute();
Deleting Records
- Delete records based on conditions:
await db.table("users")
.delete()
.where("age < 18")
.execute();
Contributing
Contributions are welcome! Please fork the repository and submit a pull request with your changes.
License
This project is licensed under the MIT License.