1.0.14 • Published 10 years ago

js-hibernate v1.0.14

Weekly downloads
4
License
MIT
Repository
github
Last release
10 years ago

JS-Hibernate

Current version: 1.0.14 NEW

Awesome new function - easy and usable Insert for entity. Details at the end of the documentation.

JSHibernate is a simple object-relational mapper for the JS.

There works only with MySQL. Plans to work with Oracle and MS SQL

Methods select() and where() return Promises/A+. Support operators:

  • Equal: = sql operator
  • More: > sql operator
  • Less: < sql operator
  • MoreEqual: >= sql operator
  • LessEqual: <= sql operator
  • Like: like sql operator

Support conditions:

  • And: and sql condition
  • Or: or sql condition

Other API methods:

  • executeSql: execution of arbitrary sql query

Install

$ npm install js-hibernate

Usage

1. Config connection to database

var dbconfig = {
    host: "your-mysql-host",
    user: "your-mysql-user",
    password: "your-mysql-password",
    database: "your-mysql-db"
    };

2. Init session

var jsORM = require('js-hibernate');
var session = jsORM.session(dbconfig);

3. Create Table Mapping

var userMap = session.tableMap('User')
    // columnMap(object-name-property, table-name-property, optional-property-config)
    .columnMap('id', 'id') 
    .columnMap('name', 'shortName')
    .columnMap('phone', 'tel');

4. Simple request - select all rows

// select * from `User` 
var query = session.query(userMap).select();
query.then(function(result){
    console.log(result); // array with result
}).catch(function(error){
    console.log('Error: ' + error);
});

5. Sample work with several operators and boolean operators

// select * from `User` 
// where `shortName` = 'Rinat' and `id` > '0' and `id` <= 4
var query = session.query(userMap)
    .where(
        userMap.name.Equal('Rinat') // =
        .And() // and
        .id.More(0). // >
        And() // and
        .id.LessEqual(4) // <=
    );
    
query.then(function(result) {
    console.log(result); // array with result
}).catch(function(error) {
    console.log('Error: ' + error);
});

6. Execute of arbitrary sql query

var sql = 'select * from `User`'
var query = session.executeSql(sql);
    
query.then(function(result) {
    console.log(result); // array with result
}).catch(function(error) {
    console.log('Error: ' + error);
});

7. Insert Entity

userMap = session.tableMap('User')
    .columnMap('id', 'id', { isAutoIncrement: true })
    .columnMap('name', 'shortName')
    .columnMap('phone', 'tel');

var someUser = {
    'name': 'newUser',
    'phone': '555-555'
};
// insert into `User` (`shortName`, `tel`) values ('newUser', '555-555')
userMap.Insert(someUser).then(function (result) {
    console.log('inserted: ' + result.affectedRows);
}).catch(function (error) {
    console.log('Error: ' + error);
});
1.0.14

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

10 years ago

1.0.6

10 years ago

1.0.5

10 years ago

1.0.4

10 years ago

1.0.3

10 years ago

1.0.2

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago

0.7.0

10 years ago

0.6.0

10 years ago

0.5.0

10 years ago

0.4.0

10 years ago

0.3.0

10 years ago

0.2.0

10 years ago