mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-06 16:48: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.IDialect;
|
||||
import com.mybatisflex.core.dialect.KeywordWrap;
|
||||
import com.mybatisflex.core.dialect.LimitOffsetProcesser;
|
||||
import com.mybatisflex.core.querywrapper.CPI;
|
||||
import com.mybatisflex.core.querywrapper.QueryWrapper;
|
||||
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
|
||||
public void testrSelectLimitSql() {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
|
||||
36
readme.md
36
readme.md
@ -270,7 +270,43 @@ QueryWrapper queryWrapper = QueryWrapper.create()
|
||||
// LEFT JOIN tb_article
|
||||
// ON tb_account.id = tb_article.account_id
|
||||
// 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?
|
||||
|
||||
37
readme_zh.md
37
readme_zh.md
@ -309,6 +309,43 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
||||
// 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 传输?**
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user