mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 00:58:24 +08:00
update docs
This commit is contained in:
parent
987f65d65a
commit
da1d8ec93d
@ -2,6 +2,8 @@ package com.mybatisflex.test;
|
|||||||
|
|
||||||
import com.mybatisflex.core.dialect.CommonsDialectImpl;
|
import com.mybatisflex.core.dialect.CommonsDialectImpl;
|
||||||
import com.mybatisflex.core.dialect.IDialect;
|
import com.mybatisflex.core.dialect.IDialect;
|
||||||
|
import com.mybatisflex.core.dialect.KeywordWrap;
|
||||||
|
import com.mybatisflex.core.dialect.LimitOffsetProcesser;
|
||||||
import com.mybatisflex.core.querywrapper.CPI;
|
import com.mybatisflex.core.querywrapper.CPI;
|
||||||
import com.mybatisflex.core.querywrapper.QueryWrapper;
|
import com.mybatisflex.core.querywrapper.QueryWrapper;
|
||||||
import com.mybatisflex.core.table.TableInfo;
|
import com.mybatisflex.core.table.TableInfo;
|
||||||
@ -195,6 +197,47 @@ public class AccountSqlTester {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testLimitOffset() {
|
||||||
|
|
||||||
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
|
.select()
|
||||||
|
.from(ACCOUNT)
|
||||||
|
.orderBy(ACCOUNT.ID.desc())
|
||||||
|
.limit(10)
|
||||||
|
.offset(20);
|
||||||
|
|
||||||
|
IDialect dialect1 = new CommonsDialectImpl();
|
||||||
|
String sql1 = dialect1.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql1);
|
||||||
|
|
||||||
|
IDialect dialect2 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.ORACLE);
|
||||||
|
String sql2 = dialect2.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql2);
|
||||||
|
|
||||||
|
IDialect dialect3 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.DB2);
|
||||||
|
String sql3 = dialect3.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql3);
|
||||||
|
|
||||||
|
IDialect dialect4 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.POSTGRESQL);
|
||||||
|
String sql4 = dialect4.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql4);
|
||||||
|
|
||||||
|
IDialect dialect5 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.INFORMIX);
|
||||||
|
String sql5 = dialect5.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql5);
|
||||||
|
|
||||||
|
IDialect dialect6 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.SYBASE);
|
||||||
|
String sql6 = dialect6.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql6);
|
||||||
|
|
||||||
|
|
||||||
|
IDialect dialect7 = new CommonsDialectImpl(KeywordWrap.DOUBLE_QUOTATION, LimitOffsetProcesser.FIREBIRD);
|
||||||
|
String sql7 = dialect7.buildSelectSql(queryWrapper);
|
||||||
|
System.out.println(sql7);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testrSelectLimitSql() {
|
public void testrSelectLimitSql() {
|
||||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
|
|||||||
36
readme.md
36
readme.md
@ -270,7 +270,43 @@ QueryWrapper queryWrapper = QueryWrapper.create()
|
|||||||
// LEFT JOIN tb_article
|
// LEFT JOIN tb_article
|
||||||
// ON tb_account.id = tb_article.account_id
|
// ON tb_account.id = tb_article.account_id
|
||||||
// WHERE tb_account.age >= ?
|
// WHERE tb_account.age >= ?
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### limit... offset
|
||||||
|
|
||||||
|
```java
|
||||||
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
|
.select()
|
||||||
|
.from(ACCOUNT)
|
||||||
|
.orderBy(ACCOUNT.ID.desc())
|
||||||
|
.limit(10)
|
||||||
|
.offset(20);
|
||||||
|
|
||||||
|
// MySql:
|
||||||
|
// SELECT * FROM `tb_account` ORDER BY `id` DESC LIMIT 20, 10
|
||||||
|
|
||||||
|
// postgreSQL:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC LIMIT 20 OFFSET 10
|
||||||
|
|
||||||
|
// informix:
|
||||||
|
// SELECT SKIP 20 FIRST 10 * FROM "tb_account" ORDER BY "id" DESC
|
||||||
|
|
||||||
|
// oracle:
|
||||||
|
// SELECT * FROM (SELECT TEMP_DATAS.*,
|
||||||
|
// ROWNUM RN FROM (
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC)
|
||||||
|
// TEMP_DATAS WHERE ROWNUM <=30)
|
||||||
|
// WHERE RN >20
|
||||||
|
|
||||||
|
// db2:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY
|
||||||
|
|
||||||
|
// sybase:
|
||||||
|
// SELECT TOP 10 START AT 30 * FROM "tb_account" ORDER BY "id" DESC
|
||||||
|
|
||||||
|
// firebird:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC ROWS 20 TO 30
|
||||||
```
|
```
|
||||||
|
|
||||||
### Questions?
|
### Questions?
|
||||||
|
|||||||
37
readme_zh.md
37
readme_zh.md
@ -309,6 +309,43 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
// WHERE tb_account.age >= ?
|
// WHERE tb_account.age >= ?
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
### limit... offset
|
||||||
|
|
||||||
|
```java
|
||||||
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
|
.select()
|
||||||
|
.from(ACCOUNT)
|
||||||
|
.orderBy(ACCOUNT.ID.desc())
|
||||||
|
.limit(10)
|
||||||
|
.offset(20);
|
||||||
|
|
||||||
|
// MySql:
|
||||||
|
// SELECT * FROM `tb_account` ORDER BY `id` DESC LIMIT 20, 10
|
||||||
|
|
||||||
|
// postgreSQL:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC LIMIT 20 OFFSET 10
|
||||||
|
|
||||||
|
// informix:
|
||||||
|
// SELECT SKIP 20 FIRST 10 * FROM "tb_account" ORDER BY "id" DESC
|
||||||
|
|
||||||
|
// oracle:
|
||||||
|
// SELECT * FROM (SELECT TEMP_DATAS.*,
|
||||||
|
// ROWNUM RN FROM (
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC)
|
||||||
|
// TEMP_DATAS WHERE ROWNUM <=30)
|
||||||
|
// WHERE RN >20
|
||||||
|
|
||||||
|
// db2:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC OFFSET 20 ROWS FETCH NEXT 10 ROWS ONLY
|
||||||
|
|
||||||
|
// sybase:
|
||||||
|
// SELECT TOP 10 START AT 30 * FROM "tb_account" ORDER BY "id" DESC
|
||||||
|
|
||||||
|
// firebird:
|
||||||
|
// SELECT * FROM "tb_account" ORDER BY "id" DESC ROWS 20 TO 30
|
||||||
|
```
|
||||||
|
|
||||||
### 存在疑问?
|
### 存在疑问?
|
||||||
|
|
||||||
**疑问 1:QueryWrapper 是否可以在分布式项目中通过 RPC 传输?**
|
**疑问 1:QueryWrapper 是否可以在分布式项目中通过 RPC 传输?**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user