Skip to content

Commit

Permalink
Merge branch 'doc' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
babyfish-ct committed Jun 3, 2023
2 parents 6d9af2c + 5d13776 commit ad1415d
Show file tree
Hide file tree
Showing 20 changed files with 3,485 additions and 53 deletions.
8 changes: 4 additions & 4 deletions doc/docs/jimmer-core/draft.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@ Due to the existence of Annotation Processor/KSP plugin in the gradle configurat
```groovy title="build.gradle"
dependencies {
implementation 'org.babyfish.jimmer:jimmer-core:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-core:0.7.77'
// highlight-next-line
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
// This annotation processor generates source code
// for INTERFACEs marked by
// `@org.babyfish.jimmer.Immutable` or
Expand All @@ -84,9 +84,9 @@ plugins {
}
dependencies {

implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.75")
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.77")
// highlight-next-line
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")
// The ksp plugin generates source code
// for INTERFACEs marked by
// `@org.babyfish.jimmer.Immutable` or
Expand Down
16 changes: 8 additions & 8 deletions doc/docs/jimmer-core/usage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import TabItem from '@theme/TabItem';
```groovy title="build.gradle"
depdencies {
implementation 'org.babyfish.jimmer:jimmer-core:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-core:0.7.77'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
}
```

Expand All @@ -27,7 +27,7 @@ depdencies {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-core</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>

Expand All @@ -42,7 +42,7 @@ depdencies {
<path>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-apt</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</path>
</annotationProcessorPaths>
</configuration>
Expand All @@ -64,10 +64,10 @@ plugins {
dependencies {

// Step2: Add jimmer-core-kotlin
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.75")
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.77")

// Step3: Apply ksp plugin
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")
}

// Step4: Add generated sources into compile path.
Expand All @@ -87,7 +87,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-core-kotlin</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>

<build>
Expand Down Expand Up @@ -129,7 +129,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-ksp</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>
</plugin>
Expand Down
16 changes: 8 additions & 8 deletions doc/docs/jimmer-sql/basic/usage.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ If you want more details on using jimmer in a non-spring environment, you can co
```groovy title="build.gradle"
depdencies {
implementation 'org.babyfish.jimmer:jimmer-sql:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-sql:0.7.77'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
runtimeOnly 'com.h2database:h2:2.1.212'
}
Expand All @@ -44,7 +44,7 @@ depdencies {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-sql</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
Expand All @@ -65,7 +65,7 @@ depdencies {
<path>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-apt</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</path>
</annotationProcessorPaths>
</configuration>
Expand All @@ -87,10 +87,10 @@ plugins {
depdencies {

// Step2: Add jimmer-sql-kotlin
implementation("org.babyfish.jimmer:jimmer-sql-kotlin:0.7.75")
implementation("org.babyfish.jimmer:jimmer-sql-kotlin:0.7.77")

// Step3: Apply ksp plugin
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")

runtimeOnly("com.h2database:h2:2.1.212")

Expand All @@ -114,7 +114,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-sql-kotlin</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
Expand Down Expand Up @@ -162,7 +162,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-ksp</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>
</plugin>
Expand Down
10 changes: 9 additions & 1 deletion doc/i18n/zh/docusaurus-plugin-content-docs/current/before.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ import JavaFetcherMp4 from '@site/static/img/java-fetcher.mp4';
import KotlinFetcherMp4 from '@site/static/img/kotlin-fetcher.mp4';
import { Benchmark } from '@site/src/components/Benchmark';

一个基于Java或Kotlin的革命性的ORM,却不限于ORM
:::warning
由于Jimmer不仅是一个ORM,还是基于ORM的一套完整的后端集成化方案。文档编写工作量非常巨大,首批用户对文档的目录结构也反馈也是众口不一。

所以,经过讨论,最终版文档都设计在左侧目录树最下放的[团队协同](./team-work/)目录下,正在书写

最终版文档完成后,这些老文档将会被全部删除
:::

一个基于Java或Kotlin的革命性的ORM,以及基于它的后端集成化方案

## 思维导图

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,10 @@ interface TreeNode {
```groovy title="build.gradle"
dependencies {
implementation 'org.babyfish.jimmer:jimmer-core:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-core:0.7.77'
// highlight-next-line
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
// This annotation processor generates source code
// for INTERFACEs marked by
// `@org.babyfish.jimmer.Immutable` or
Expand All @@ -84,9 +84,9 @@ plugins {
}
dependencies {

implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.75")
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.77")
// highlight-next-line
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")
// The ksp plugin generates source code
// for INTERFACEs marked by
// `@org.babyfish.jimmer.Immutable` or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,14 @@ title: jimmer-core(Old)
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

:::warning
由于Jimmer不仅是一个ORM,还是基于ORM的一套完整的后端集成化方案。文档编写工作量非常巨大,首批用户对文档的目录结构也反馈也是众口不一。

所以,经过讨论,最终版文档都设计在左侧目录树最下放的[团队协同](../team-work/)目录下,正在书写

最终版文档完成后,这些老文档将会被全部删除
:::

:::tip
本文从[功能列表](../intro)的第一部分复制而来,内容完全一样。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import TabItem from '@theme/TabItem';
```groovy title="build.gradle"
depdencies {
implementation 'org.babyfish.jimmer:jimmer-core:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-core:0.7.77'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
runtimeOnly 'com.h2database:h2:2.1.212'
}
Expand All @@ -29,7 +29,7 @@ depdencies {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-core</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>

Expand All @@ -44,7 +44,7 @@ depdencies {
<path>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-apt</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</path>
</annotationProcessorPaths>
</configuration>
Expand All @@ -66,10 +66,10 @@ plugins {
depdencies {

// 第二步: 添加jimmer-core-kotlin
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.75")
implementation("org.babyfish.jimmer:jimmer-core-kotlin:0.7.77")

// 第三步: 应用ksp插件
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")

...ommit other dependency...
}
Expand All @@ -91,7 +91,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-core-kotlin</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>

<build>
Expand Down Expand Up @@ -133,7 +133,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-ksp</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ title: jimmer-sql(Old)
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';


:::warning
由于Jimmer不仅是一个ORM,还是基于ORM的一套完整的后端集成化方案。文档编写工作量非常巨大,首批用户对文档的目录结构也反馈也是众口不一。

所以,经过讨论,最终版文档都设计在左侧目录树最下放的[团队协同](../team-work/)目录下,正在书写

最终版文档完成后,这些老文档将会被全部删除
:::

:::tip
本文从[功能列表](../intro)的第二部分复制而来,内容完全一样。

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ title: 使用spring boot starter
```groovy title="build.gradle"
depdencies {
implementation 'org.babyfish.jimmer:jimmer-spring-boot-starter-:0.7.75'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.75'
implementation 'org.babyfish.jimmer:jimmer-spring-boot-starter-:0.7.77'
annotationProcessor 'org.babyfish.jimmer:jimmer-apt:0.7.77'
runtimeOnly 'com.h2database:h2:2.1.212'
}
Expand All @@ -41,7 +41,7 @@ depdencies {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-spring-boot-starter</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
Expand All @@ -62,7 +62,7 @@ depdencies {
<path>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-apt</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</path>
</annotationProcessorPaths>
</configuration>
Expand All @@ -82,8 +82,8 @@ plugins {
}
depdencies {

implementation("org.babyfish.jimmer:jimmer-spring-boot-starter:0.7.75")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.75")
implementation("org.babyfish.jimmer:jimmer-spring-boot-starter:0.7.77")
ksp("org.babyfish.jimmer:jimmer-ksp:0.7.77")

runtimeOnly("com.h2database:h2:2.1.212")

Expand All @@ -109,7 +109,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-spring-boot-starter</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
Expand Down Expand Up @@ -158,7 +158,7 @@ kotlin {
<dependency>
<groupId>org.babyfish.jimmer</groupId>
<artifactId>jimmer-ksp</artifactId>
<version>0.7.75</version>
<version>0.7.77</version>
</dependency>
</dependencies>
</plugin>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,16 @@ Jimmer是一个针对Java和Kotlin的革命性ORM,以及一套基于它的完

本质原因是因为其他所有方案都只关注于动态where条件,没有考虑动态table join的问题,最终导致这种有一定复杂度的动态查询实施起来很麻烦。

### 4. 令人头疼的缓存问题

通常,如果在项目中只涉及到数据库操作,人们比较容易保持代码的清晰,但是一旦融合了缓存技术,代码就变得复杂和晦涩。

- 缓存操作对业务代码侵入严重,缓存一致性问题更是非常头疼的问题。

- 一般项目中手写缓存都是相对简单的`id -> object`缓存,对数据之间的关联、以及任意形状数据结构的缓存问题很少涉猎,功能很有限。

- 对纯数据库操作和结合缓存这两种不同的场景而言,SQL的优化方法不尽相同。这导致了一个问题,如果想做极致优化,是否支持缓存最好一开始就想好,很难随开随关。

## Jimmer的目标

### 1. ORM便捷性 + MyBatis灵活性
Expand Down
Loading

0 comments on commit ad1415d

Please sign in to comment.