My favorites | Sign in
Project Home Downloads Issues Source
Project Information
Members
Featured
Downloads
Wiki pages
Links


Version 1.2 RELEASED!

Version 1.3 ALMOST HERE!

Delayed until the release of NINJA-IDE Version 1.0

http://ninja-ide.googlecode.com

Working with Databases has never been Easier!

QuickDB aims to develop a persistence library that allow the user to write only the Data Model, and the library will manage all the operations between the Entities and the Database, without writing any line of code for Connection, Sql, etc.

Where each operation involves only what you wanna do (save, modify, ...) and to what are you going to apply it (the object)

The Source Code, the Jar File and a Site with several Reports can be downloaded from:
QuickDB-1.2
QuickDB 1.3-Beta2:
QuickDB-1.3-Beta2

Documentation for Version 1.2
New Features of Version 1.3 not added in the documentation yet
Spanish Tutorial:
Tutorial HTML
Tutorial PDF

English Tutorial:
Tutorial HTML
Tutorial PDF

Using QuickDB with Maven

Release Notes

(Working in a Python, .NET, PHP and Mobile{J2ME, .NET CF} Version)
Working to add support for SQL Server


Why QuickDB?

Functionality is not synonymous with Complexity.
Being able to do a lot of things don't have to involve waste a lot of time in configuration tasks.


Capabilities

This capabilities can be combined with Inheritance, Compound Objects, Collections (Many to Many Relation, One to Many Relation) and Automatic Table Creation.
(saveAll and modifyAll receive a Collection of Objects)
(obtainAll return a Collection of Objects)


Keep It Simple...

Example Classes:

//Create instance of AdminBase
//Parameters: DBMS, HOST, PORT, DB, USER, PASSWORD
AdminBase admin = new AdminBase(AdminBase.DATABASE.MYSQL, "localhost",
        "3306", "exampleQuickDB", "root", "");

//Create Address Object
Address a = new Address();
a.setNumber(123);
a.setStreet("unnamed street");

//Create Collection of Phones
Phone p1 = new Phone();
p1.setAreaCode("351");
p1.setNumber("123456");
Phone p2 = new Phone();
p2.setAreaCode("351");
p2.setNumber("4567890");
ArrayList<Phone> phones = new ArrayList<Phone>();
phones.add(p1);
phones.add(p2);

//Create Employe Object
Employee e = new Employee();
e.setCode(555);
e.setRolDescription("play ping pong");
e.setName("Diego Sarmentero");
e.setBirth(new java.sql.Date(100, 4, 20));
e.setAddress(a);
e.setPhone(phones);

Operation: Save

admin.save(e); //Save Employe

Result: Save (Tables)

Create the Tables automatically

Address

id street number
1 unnamed street 123

Phone

id areaCode number
1 351 123456
2 351 4567890

Person

id name birth address
1 Diego Sarmentero 2000-05-20 1

PersonPhonePhone

id base related
1 1 1
2 1 2

Employee

id code rolDescription parent_id
1 555 play ping pong 1

Operation: Obtain

Get the Employee object where the inherited attribute "address" has as street value = 'unnamed street'
(QuickDB has a Query System 100% Object Oriented)

admin.obtain(e, "address.street = 'unnamed street'");

Or

admin.obtain(e).If("street", Address.class).equal("unnamed street").find();

Operation: Modify

Change Employee name and add a new Phone (after obtain the object).

e.setName("Leonardo");
Phone p = new Phone();
p.setAreaCode("123");
p.setNumber("98765");
e.getPhone().add(p);

admin.modify(e);

Operation: Delete

Delete this Employee object (after obtain).

admin.delete(e);


Is it really so Simple??:


To participate or request features please contact: quickdb@googlegroups.com


Powered by Google Project Hosting