JavaWebStack / orm

Object Relational Mapping Framework of JavaWebStack (former AJORM)
Apache License 2.0
6 stars 1 forks source link



JWS Object Relational Mapping

GitHub Workflow Status (branch) GitHub Maven metadata URL GitHub contributors Lines of code Discord Twitter Follow

Introduction

When it came to using an ORM Lib in java I used ORMLite before. It worked quite well, but I didn't like the query builder.

Another thing was that I wanted to have control over the JDBC Wrapper to have a simple way of implementing an auto-reconnect function, if it gets disconnected for some reason.

I finally decided to make an own ORM that fits my needs and here it is.

Documentation

You can find the current docs on our website. This is a work-in-progress project though so it's not yet complete.

Example usage

Model

@Dates @SoftDelete
class User extends Model {
  @Column
  int id;
  @Column
  String name;
  @Column
  Timestamp createdAt;
  @Column
  Timestamp updatedAt;
  @Column
  Timestamp deletedAt;
}

Usage

//Create connection, initialize repos
SQL sql = new MySQL("localhost",3306,"mydb","myuser","changeme1234");
ORMConfig config = new ORMConfig().setDefaultSize(255); //optional
Repo<User> repo = ORM.register(User.class, sql, config);

//Create the table if it doesn't exist (optional)
repo.migrate();

//Print all usernames
for(User user : Repo.get(User.class).all()){
    System.out.println(user.name);
}

Maven

Dependency

<dependency>
    <groupId>org.javawebstack</groupId>
    <artifactId>orm</artifactId>
    <version>1.0.1</version>
</dependency>

Driver

You also need to add the driver you want to use. JavaWebStack ORM comes with a wrapper for com.mysql.jdbc.Driver, but you can also create an own wrapper implementing the interface SQL.

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>
    <scope>compile</scope>
</dependency>