update docs

This commit is contained in:
开源海哥 2023-03-07 10:52:31 +08:00
parent e86db3f92f
commit 0ca7c40326
2 changed files with 89 additions and 58 deletions

View File

@ -122,6 +122,20 @@ public class AccountSqlTester {
System.out.println(sql);
}
@Test
public void testWhereSelectSql() {
QueryWrapper queryWrapper = QueryWrapper.create()
.select()
.from(ACCOUNT)
.where(ACCOUNT.ID.ge(
select(ARTICLE.ACCOUNT_ID).from(ARTICLE).where(ARTICLE.ID.ge(100))
));
IDialect dialect = new CommonsDialectImpl();
String sql = dialect.forSelectListByQuery(queryWrapper);
System.out.println(sql);
}
@Test
public void testGroupSql() {
QueryWrapper queryWrapper = QueryWrapper.create()
@ -140,7 +154,7 @@ public class AccountSqlTester {
.select()
.from(ACCOUNT)
.groupBy(ACCOUNT.USER_NAME)
.having(ACCOUNT.AGE.between(18,25));
.having(ACCOUNT.AGE.between(18, 25));
IDialect dialect = new CommonsDialectImpl();
String sql = dialect.forSelectListByQuery(queryWrapper);
@ -165,7 +179,7 @@ public class AccountSqlTester {
QueryWrapper queryWrapper = QueryWrapper.create()
.select()
.from(ACCOUNT)
.orderBy(ACCOUNT.AGE.asc(),ACCOUNT.USER_NAME.desc().nullsLast());
.orderBy(ACCOUNT.AGE.asc(), ACCOUNT.USER_NAME.desc().nullsLast());
IDialect dialect = new CommonsDialectImpl();
String sql = dialect.forSelectListByQuery(queryWrapper);

View File

@ -92,7 +92,7 @@ QueryWrapper query=QueryWrapper.create()
// ELECT * FROM `tb_account`
// WHERE `tb_account`.`id` >= 100
// AND (`tb_account`.`user_name` LIKE '%张%' OR `tb_account`.`user_name` LIKE '%李%' )
List<Account> accounts=MybatisFlexBootstrap.getInstance()
List<Account> accounts=MybatisFlexBootstrap.getInstance()
.execute(AccountMapper.class,mapper->
mapper.selectListByQuery(query)
);
@ -116,10 +116,10 @@ QueryWrapper query=QueryWrapper.create()
// AND (`user_name` LIKE '%张%' OR `user_name` LIKE '%李%' )
// ORDER BY `id` DESC
// LIMIT 40,10
Page<Account> accounts=MybatisFlexBootstrap.getInstance()
.execute(AccountMapper.class,mapper->
Page<Account> accounts=MybatisFlexBootstrap.getInstance()
.execute(AccountMapper.class,mapper->
mapper.paginate(5,10,query)
);
);
```
## QueryWrapper 示例
@ -128,7 +128,7 @@ QueryWrapper query=QueryWrapper.create()
```java
QueryWrapper query=new QueryWrapper();
query.select().from(ACCOUNT)
query.select().from(ACCOUNT)
// SQL:
// SELECT * FROM tb_account
@ -138,7 +138,8 @@ QueryWrapper query=new QueryWrapper();
```java
QueryWrapper query=new QueryWrapper();
query.select(ACCOUNT.ID,ACCOUNT.USER_NAME).from(ACCOUNT)
query.select(ACCOUNT.ID,ACCOUNT.USER_NAME)
.from(ACCOUNT)
// SQL:
// SELECT id, user_name
@ -147,7 +148,7 @@ QueryWrapper query=new QueryWrapper();
```java
QueryWrapper query=new QueryWrapper();
query.select(ACCOUNT.ALL_COLUMNS).from(ACCOUNT)
query.select(ACCOUNT.ALL_COLUMNS).from(ACCOUNT)
// SQL:
// SELECT id, user_name, birthday, sex, is_normal
@ -157,7 +158,7 @@ QueryWrapper query=new QueryWrapper();
### select functions
```java
QueryWrapper query=new QueryWrapper()
QueryWrapper query=new QueryWrapper()
.select(
ACCOUNT.ID,
ACCOUNT.USER_NAME,
@ -187,6 +188,21 @@ QueryWrapper queryWrapper=QueryWrapper.create()
// AND user_name LIKE ?
```
### where select
```java
QueryWrapper queryWrapper = QueryWrapper.create()
.select()
.from(ACCOUNT)
.where(ACCOUNT.ID.ge(
select(ARTICLE.ACCOUNT_ID).from(ARTICLE).where(ARTICLE.ID.ge(100))
));
// SQL:
// SELECT * FROM `tb_account`
// WHERE `id` >=
// (SELECT `account_id` FROM `tb_article` WHERE `id` >= ? )
```
### exists, not exists
```java
@ -259,7 +275,8 @@ QueryWrapper queryWrapper=QueryWrapper.create()
QueryWrapper queryWrapper=QueryWrapper.create()
.select()
.from(ACCOUNT)
.orderBy(ACCOUNT.AGE.asc(), ACCOUNT.USER_NAME.desc().nullsLast());
.orderBy(ACCOUNT.AGE.asc()
, ACCOUNT.USER_NAME.desc().nullsLast());
// SQL:
// SELECT * FROM `tb_account`
@ -354,11 +371,11 @@ update(T entity,boolean ignoreNulls)
```java
Account account=UpdateEntity.of(Account.class);
account.setId(100);
account.setUserName(null);
account.setSex(1);
account.setId(100);
account.setUserName(null);
account.setSex(1);
accountMapper.update(account,false);
accountMapper.update(account,false);
```
以上的示例中,会把 id 为 100 这条数据中的 user_name 字段更新为 nullsex 字段更新为 1其他字段不会被更新。也就是说通过 `UpdateEntity`