docs:update use-in-kotlin.md

This commit is contained in:
kamosama 2023-12-01 09:26:09 +08:00
parent 74c2944479
commit 07b0998dd8

View File

@ -19,14 +19,14 @@
- 快速构建启动通过DSL重载运算符快速配置 MybatisFlexBootstrap 实例并启动: - 快速构建启动通过DSL重载运算符快速配置 MybatisFlexBootstrap 实例并启动:
```kotlin ```kotlin
buildBootstrap { runFlex {
// 配置数据源 相当于 setDataSource(dataSource) // 配置数据源 相当于 setDataSource(dataSource)
+dataSource +dataSource
// 配置Mapper 相当于 addMapper(AccountMapper::class.java) // 配置Mapper 相当于 addMapper(AccountMapper::class.java)
+AccountMapper::class +AccountMapper::class
// 配置日志输出 相当于 setLogImpl(StdOutImpl::class.java) // 配置日志输出 相当于 setLogImpl(StdOutImpl::class.java)
logImpl = StdOutImpl::class logImpl = StdOutImpl::class
}.start() }
``` ```
- 快速查询数据通过DSL泛型快速编写查询语句并查询: (快速查询提供三个函数all, filter 和 query ) - 快速查询数据通过DSL泛型快速编写查询语句并查询: (快速查询提供三个函数all, filter 和 query )
>- `all<实体类>()` 查泛型对应的表的所有数据 >- `all<实体类>()` 查泛型对应的表的所有数据
@ -34,19 +34,21 @@
>- `query<实体类>(QueryScope.()->Unit)` 较复杂查泛型对应的表的数据 (如: 分组,排序等) >- `query<实体类>(QueryScope.()->Unit)` 较复杂查泛型对应的表的数据 (如: 分组,排序等)
- 简明地构建查询:通过中缀表达式➕扩展方法能更加简单明了的构建条件: - 简明地构建查询:通过中缀表达式➕扩展方法能更加简单明了的构建条件:
* **【对比原生】** * **【对比原生】**
* **原生** * **原生**
```kotlin ```kotlin
val queryWrapper = QueryWrapper.create() val queryWrapper = QueryWrapper.create()
.select(Account::id.column(), Account::userName.column()) .select(QueryColumn("id"), QueryColumn("user_name"))
.where(Account::age.column().isNotNull()).and(Account::age.column().ge(17)) .where(QueryColumn("age").isNotNull()).and(QueryColumn("age").ge(17))
.orderBy(Account::id.column().desc()) .orderBy(QueryColumn("id").desc())
mapper<AccountMapper>().selectListByQuery(queryWrapper) mapper<AccountMapper>().selectListByQuery(queryWrapper)
``` ```
* **扩展后** * **扩展后**
```kotlin ```kotlin
query<Account> { // 无需注册Mapper与APT/KSP即可查询操作
val accountList: List<Account> = query {
select(Account::id, Account::userName) select(Account::id, Account::userName)
where(Account::age.isNotNull) and { Account::age ge 17 } orderBy -Account::id where(Account::age.isNotNull) and { Account::age ge 17 } orderBy -Account::id
} }
@ -80,7 +82,6 @@
WHERE (`id` = 1 AND `user_name` = '张三' AND `age` = 18) WHERE (`id` = 1 AND `user_name` = '张三' AND `age` = 18)
OR (`id` = 2 AND `user_name` = '李四' AND `age` = 19) OR (`id` = 2 AND `user_name` = '李四' AND `age` = 19)
``` ```
- 摆脱APT: 使用扩展方法摆脱对 APT(注解处理器) 的使用,直接使用属性引用让代码更加灵活优雅: - 摆脱APT: 使用扩展方法摆脱对 APT(注解处理器) 的使用,直接使用属性引用让代码更加灵活优雅:
> 使用APT: `ACCOUNT.ID eq 1` ,使用属性引用: `Account::id eq 1` > 使用APT: `ACCOUNT.ID eq 1` ,使用属性引用: `Account::id eq 1`
> >