korm

kotlin orm

License

License

Categories

Categories

ORM Data
GroupId

GroupId

com.sdibt
ArtifactId

ArtifactId

korm
Last Version

Last Version

0.0.64
Release Date

Release Date

Type

Type

jar
Description

Description

korm
kotlin orm
Project URL

Project URL

https://github.com/weibaohui/korm
Source Code Management

Source Code Management

https://github.com/weibaohui/korm

Download korm

How to add to project

<!-- https://jarcasting.com/artifacts/com.sdibt/korm/ -->
<dependency>
    <groupId>com.sdibt</groupId>
    <artifactId>korm</artifactId>
    <version>0.0.64</version>
</dependency>
// https://jarcasting.com/artifacts/com.sdibt/korm/
implementation 'com.sdibt:korm:0.0.64'
// https://jarcasting.com/artifacts/com.sdibt/korm/
implementation ("com.sdibt:korm:0.0.64")
'com.sdibt:korm:jar:0.0.64'
<dependency org="com.sdibt" name="korm" rev="0.0.64">
  <artifact name="korm" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.sdibt', module='korm', version='0.0.64')
)
libraryDependencies += "com.sdibt" % "korm" % "0.0.64"
[com.sdibt/korm "0.0.64"]

Dependencies

compile (8)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.1.2
org.jetbrains.kotlin : kotlin-reflect jar 1.1.2
javax.persistence : persistence-api jar 1.0.2
com.google.guava : guava jar 21.0
com.alibaba : druid jar 1.0.28
org.modelmapper : modelmapper jar 0.7.7
org.slf4j : slf4j-api jar 1.7.25
ch.qos.logback : logback-classic jar 1.2.3

runtime (1)

Group / Artifact Type Version
mysql : mysql-connector-java jar 6.0.6

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

Maven Central GitHub license

korm

kotlin orm

#Doc gitbook

#简介

当前处于测试阶段。欢迎您提供建议意见。

本项目受PDF.NET项目启发,并参考了其OQL的实现原理,将其移植到kotlin下。并在此基础上进行了功能扩展。

##Maven坐标

<dependency>
    <groupId>com.sdibt</groupId>
    <artifactId>korm</artifactId>
    <version>X.X.X</version>
</dependency>

##Gradle

compile 'com.sdibt:korm:X.X.X'

##便利点: 1、编译阶段提供字段检查。避免修改字段而没修改sql语句造成的错误。

2、OQL语句接近于SQL,降低学习成本。

3、提供丰富的SQL执行日志,方便排查问题。

4、支持Entity、OQL两种操作方式。

5、集成Springboot 后,可以使用@Repository继承BaseRepository获取CRUD基本操作。无需编写实现逻辑。并且支持spring data jpa 风格的查询语句。

@Repository
interface TestBookRepository : BaseRepository<TestBook>{
    fun get10ByTestNameOrderByTestIdDesc(name:String):List<TestBook>
}

无需写具体的实现逻辑,执行后get10ByTestNameOrderByTestIdDesc("abc") 转换为select * from testbook where test_name='abc' order by test_id desc limit 10 结果集映射为List

6、支持多数据源,以及读写分离(一主多从)

7、支持自动填充createdAt、createdBy、updatedAt、updatedBy

8、支持软删除,删除操作改为填充deletedAt字段

9、支持version乐观锁

10、数据库交互以callback链方式执行,可以进行按需扩展

##支持数据库 1.mysql 2、oracle :未测试 3、postgres :未测试 4、sqlite :未测试

##交流

QQ群号:637927287

Versions

Version
0.0.64
0.0.57
0.0.48
0.0.46
0.0.44
0.0.31
0.0.12
0.0.11
0.0.10
0.0.9