All Projects → doytowin → doyto-query

doytowin / doyto-query

Licence: Apache-2.0 license
DoytoQuery - A Java implementation for the modern ORM Framework.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to doyto-query

Kinto Admin
Kinto Web Administration Console
Stars: ✭ 175 (+872.22%)
Mutual labels:  crud
Hyperformula
A complete, open-source Excel-like calculation engine written in TypeScript. Includes 380+ built-in functions. Maintained by the Handsontable team⚡
Stars: ✭ 210 (+1066.67%)
Mutual labels:  crud
Filebase
A Simple but Powerful Flat File Database Storage.
Stars: ✭ 235 (+1205.56%)
Mutual labels:  crud
Yii2 Enhanced Gii
Enhanced Yii2 Gii (generator) that generates related Models & CRUD
Stars: ✭ 183 (+916.67%)
Mutual labels:  crud
Django Material
Material Design for Django
Stars: ✭ 2,362 (+13022.22%)
Mutual labels:  crud
Stator
Stator, your go-to template for the perfect stack. 😍🙏
Stars: ✭ 217 (+1105.56%)
Mutual labels:  crud
Nestjs Mongoose Crud
Nest.js crud module for mongoose models without `nestjsx/crud`
Stars: ✭ 164 (+811.11%)
Mutual labels:  crud
Cssobj
Runtime CSS manager, Turn CSS into dynamic JS module, Stylesheet CRUD (Create, Read, Update, Delete) in CSSOM, name space (local) class names
Stars: ✭ 253 (+1305.56%)
Mutual labels:  crud
Dntframeworkcore
Lightweight and Extensible Infrastructure for Building Web Applications - Web Application Framework
Stars: ✭ 208 (+1055.56%)
Mutual labels:  crud
Gosql
🐥The very simple ORM library for Golang
Stars: ✭ 233 (+1194.44%)
Mutual labels:  crud
Crud
NestJs CRUD for RESTful APIs
Stars: ✭ 2,709 (+14950%)
Mutual labels:  crud
Library
This is a project of a library, driven by real business requirements. We use techniques strongly connected with Domain Driven Design, Behavior-Driven Development, Event Storming, User Story Mapping.
Stars: ✭ 2,685 (+14816.67%)
Mutual labels:  crud
Crud Intellij Plugin
一个增删改查的idea插件,可以根据数据库表结构,帮助您快速生成model、dao、service、controller等相关代码。同时支持MyBatis、JPA、MybatisPlus。
Stars: ✭ 217 (+1105.56%)
Mutual labels:  crud
Okta Spring Boot React Crud Example
Simple CRUD with React and Spring Boot 2.0
Stars: ✭ 176 (+877.78%)
Mutual labels:  crud
Prisma Tools
Prisma tools to help you generate CRUD system for GraphQL servers
Stars: ✭ 237 (+1216.67%)
Mutual labels:  crud
Appsmith
Low code project to build admin panels, internal tools, and dashboards. Integrates with 15+ databases and any API.
Stars: ✭ 12,079 (+67005.56%)
Mutual labels:  crud
Magic
Create your .Net Core/Angular/Database CRUD Web apps by simply clicking a button
Stars: ✭ 214 (+1088.89%)
Mutual labels:  crud
Handsontable
JavaScript data grid with a spreadsheet look & feel. Works with React, Angular, and Vue. Supported by the Handsontable team ⚡
Stars: ✭ 16,059 (+89116.67%)
Mutual labels:  crud
Php Crud Api
Single file PHP script that adds a REST API to a SQL database
Stars: ✭ 2,904 (+16033.33%)
Mutual labels:  crud
Pike
Generate CRUD gRPC backends from single YAML description.
Stars: ✭ 222 (+1133.33%)
Mutual labels:  crud

License Sonar Stats Code Lines Coverage Status

DoytoQuery - The best and the last ORM framework in Java.

Introduction

DoytoQuery is a powerful and easy-to-use ORM framework in Java. It comes out from an idea which is mapping a query object directly to a WHERE clause in SQL to query database. With the development of DoytoQuery, the idea formed a new ORM theory.

The Modern ORM Theory

  1. We can define a query object mapping query statements.
  2. We can define an entity object and cooperate with the query object to complete the CRUD operations of single-table.
  3. Data Manipulation Language can be classified into three categories, corresponding to three different interfaces:
    1. CRUD for business tables: DataAccess
    2. CRD for association tables: AssociationService
    3. Aggregate/Relational query: DataQueryClient

Features

  • Data Access Layer
    • CRUD operations for single/sharding table.
    • CRD operations for associative table.
    • Query with related entities and views.
  • Service Layer
    • CRUD methods.
    • Second-Level Cache.
    • UserId Injection.
    • EntityAspect Extensions.
  • Controller Layer
    • Support RESTFul API.
    • ErrorCode Pre-definition.
    • Exception Assertion.
    • Exception Handler.
    • JsonResponse Wrapper.
    • Request/Entity/Response Transition.
    • Group Validation.
  • Seamless integration with Spring WebMvc.
  • Support for relational databases and MongoDB.

Quick Usage

For a UserEntity defined as follows:

@Getter
@Setter
@Entity(name = "user")
public class UserEntity extends AbstractPersistable<Long> {
    private String username;
    private String email;
    private Boolean valid;
}

we can define a query object to query data from database as follows:

@Getter
@Setter
@SuperBuilder
@NoArgsConstructor
@AllArgsConstructor
public class UserQuery extends PageQuery {
    private String username;
    private String emailLike;
    private Boolean valid;
}

and invoke the DataAccess#query(Q) method like this:

@Service
public class UserService extends AbstractCrudService<UserEntity, Long, UserQuery> {
    public List<UserEntity> findValidGmailUsers() {
        UserQuery userQuery = UserQuery.builder().emailLike("@gmail.com").valid(true).pageSize(10).build();
        // Executed SQL: SELECT username, email, valid, id FROM t_user WHERE email LIKE ? AND valid = ? LIMIT 10 OFFSET 0
        // Parameters  : %@gmail.com%(java.lang.String), true(java.lang.Boolean)
        return dataAccess.query(userQuery);
    }
}

Please refer to the tests for more usages.

Architecture for 0.3.x and newer

architecture-0.3.x

Versions

Module Snapshot Release
doyto-query-geo geo-snapshots-img geo-release-img
doyto-query-api api-snapshots-img api-release-img
doyto-query-common common-snapshots-img common-release-img
doyto-query-memory memory-snapshots-img memory-release-img
doyto-query-sql sql-snapshots-img sql-release-img
doyto-query-jdbc jdbc-snapshots-img jdbc-release-img
doyto-query-mongodb mongodb-snapshots-img mongodb-release-img
doyto-query-web-common web-common-snapshots-img web-common-release-img
doyto-query-web web-snapshots-img web-release-img
doyto-query-dialect dialect-snapshots-img dialect-release-img

Related resources

License

This project is under the Apache Licence v2.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].