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
e86db3f92f
commit
0ca7c40326
@ -122,6 +122,20 @@ public class AccountSqlTester {
|
|||||||
System.out.println(sql);
|
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
|
@Test
|
||||||
public void testGroupSql() {
|
public void testGroupSql() {
|
||||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
@ -140,7 +154,7 @@ public class AccountSqlTester {
|
|||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.groupBy(ACCOUNT.USER_NAME)
|
.groupBy(ACCOUNT.USER_NAME)
|
||||||
.having(ACCOUNT.AGE.between(18,25));
|
.having(ACCOUNT.AGE.between(18, 25));
|
||||||
|
|
||||||
IDialect dialect = new CommonsDialectImpl();
|
IDialect dialect = new CommonsDialectImpl();
|
||||||
String sql = dialect.forSelectListByQuery(queryWrapper);
|
String sql = dialect.forSelectListByQuery(queryWrapper);
|
||||||
@ -165,7 +179,7 @@ public class AccountSqlTester {
|
|||||||
QueryWrapper queryWrapper = QueryWrapper.create()
|
QueryWrapper queryWrapper = QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.orderBy(ACCOUNT.AGE.asc(),ACCOUNT.USER_NAME.desc().nullsLast());
|
.orderBy(ACCOUNT.AGE.asc(), ACCOUNT.USER_NAME.desc().nullsLast());
|
||||||
|
|
||||||
IDialect dialect = new CommonsDialectImpl();
|
IDialect dialect = new CommonsDialectImpl();
|
||||||
String sql = dialect.forSelectListByQuery(queryWrapper);
|
String sql = dialect.forSelectListByQuery(queryWrapper);
|
||||||
|
|||||||
129
readme_zh.md
129
readme_zh.md
@ -83,19 +83,19 @@ class HelloWorld {
|
|||||||
```java
|
```java
|
||||||
//示例2:通过 QueryWrapper 构建条件查询数据列表
|
//示例2:通过 QueryWrapper 构建条件查询数据列表
|
||||||
QueryWrapper query=QueryWrapper.create()
|
QueryWrapper query=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.where(ACCOUNT.ID.ge(100))
|
.where(ACCOUNT.ID.ge(100))
|
||||||
.and(ACCOUNT.USER_NAME.like("张").or(ACCOUNT.USER_NAME.like("李")));
|
.and(ACCOUNT.USER_NAME.like("张").or(ACCOUNT.USER_NAME.like("李")));
|
||||||
|
|
||||||
// 执行 SQL:
|
// 执行 SQL:
|
||||||
// ELECT * FROM `tb_account`
|
// ELECT * FROM `tb_account`
|
||||||
// WHERE `tb_account`.`id` >= 100
|
// WHERE `tb_account`.`id` >= 100
|
||||||
// AND (`tb_account`.`user_name` LIKE '%张%' OR `tb_account`.`user_name` LIKE '%李%' )
|
// 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->
|
.execute(AccountMapper.class,mapper->
|
||||||
mapper.selectListByQuery(query)
|
mapper.selectListByQuery(query)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
示例3:分页查询
|
示例3:分页查询
|
||||||
@ -104,11 +104,11 @@ QueryWrapper query=QueryWrapper.create()
|
|||||||
// 示例3:分页查询
|
// 示例3:分页查询
|
||||||
// 查询第 5 页,每页 10 条数据,通过 QueryWrapper 构建条件查询
|
// 查询第 5 页,每页 10 条数据,通过 QueryWrapper 构建条件查询
|
||||||
QueryWrapper query=QueryWrapper.create()
|
QueryWrapper query=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.where(ACCOUNT.ID.ge(100))
|
.where(ACCOUNT.ID.ge(100))
|
||||||
.and(ACCOUNT.USER_NAME.like("张").or(ACCOUNT.USER_NAME.like("李")))
|
.and(ACCOUNT.USER_NAME.like("张").or(ACCOUNT.USER_NAME.like("李")))
|
||||||
.orderBy(ACCOUNT.ID.desc());
|
.orderBy(ACCOUNT.ID.desc());
|
||||||
|
|
||||||
// 执行 SQL:
|
// 执行 SQL:
|
||||||
// ELECT * FROM `tb_account`
|
// ELECT * FROM `tb_account`
|
||||||
@ -116,10 +116,10 @@ QueryWrapper query=QueryWrapper.create()
|
|||||||
// AND (`user_name` LIKE '%张%' OR `user_name` LIKE '%李%' )
|
// AND (`user_name` LIKE '%张%' OR `user_name` LIKE '%李%' )
|
||||||
// ORDER BY `id` DESC
|
// ORDER BY `id` DESC
|
||||||
// LIMIT 40,10
|
// LIMIT 40,10
|
||||||
Page<Account> accounts=MybatisFlexBootstrap.getInstance()
|
Page<Account> accounts=MybatisFlexBootstrap.getInstance()
|
||||||
.execute(AccountMapper.class,mapper->
|
.execute(AccountMapper.class,mapper->
|
||||||
mapper.paginate(5,10,query)
|
mapper.paginate(5,10,query)
|
||||||
);
|
);
|
||||||
```
|
```
|
||||||
|
|
||||||
## QueryWrapper 示例
|
## QueryWrapper 示例
|
||||||
@ -128,7 +128,7 @@ QueryWrapper query=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper query=new QueryWrapper();
|
QueryWrapper query=new QueryWrapper();
|
||||||
query.select().from(ACCOUNT)
|
query.select().from(ACCOUNT)
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -138,7 +138,8 @@ QueryWrapper query=new QueryWrapper();
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper query=new QueryWrapper();
|
QueryWrapper query=new QueryWrapper();
|
||||||
query.select(ACCOUNT.ID,ACCOUNT.USER_NAME).from(ACCOUNT)
|
query.select(ACCOUNT.ID,ACCOUNT.USER_NAME)
|
||||||
|
.from(ACCOUNT)
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT id, user_name
|
// SELECT id, user_name
|
||||||
@ -147,7 +148,7 @@ QueryWrapper query=new QueryWrapper();
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper query=new QueryWrapper();
|
QueryWrapper query=new QueryWrapper();
|
||||||
query.select(ACCOUNT.ALL_COLUMNS).from(ACCOUNT)
|
query.select(ACCOUNT.ALL_COLUMNS).from(ACCOUNT)
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT id, user_name, birthday, sex, is_normal
|
// SELECT id, user_name, birthday, sex, is_normal
|
||||||
@ -157,13 +158,13 @@ QueryWrapper query=new QueryWrapper();
|
|||||||
### select functions
|
### select functions
|
||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper query=new QueryWrapper()
|
QueryWrapper query=new QueryWrapper()
|
||||||
.select(
|
.select(
|
||||||
ACCOUNT.ID,
|
ACCOUNT.ID,
|
||||||
ACCOUNT.USER_NAME,
|
ACCOUNT.USER_NAME,
|
||||||
max(ACCOUNT.BIRTHDAY),
|
max(ACCOUNT.BIRTHDAY),
|
||||||
avg(ACCOUNT.SEX).as("sex_avg")
|
avg(ACCOUNT.SEX).as("sex_avg")
|
||||||
).from(ACCOUNT);
|
).from(ACCOUNT);
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT id, user_name,
|
// SELECT id, user_name,
|
||||||
@ -176,10 +177,10 @@ QueryWrapper query=new QueryWrapper();
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.where(ACCOUNT.ID.ge(100))
|
.where(ACCOUNT.ID.ge(100))
|
||||||
.and(ACCOUNT.USER_NAME.like("michael"));
|
.and(ACCOUNT.USER_NAME.like("michael"));
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -187,18 +188,33 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
// AND user_name LIKE ?
|
// 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
|
### exists, not exists
|
||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.where(ACCOUNT.ID.ge(100))
|
.where(ACCOUNT.ID.ge(100))
|
||||||
.and(
|
.and(
|
||||||
exist(
|
exist(
|
||||||
selectOne().from(ARTICLE).where(ARTICLE.ID.ge(100))
|
selectOne().from(ARTICLE).where(ARTICLE.ID.ge(100))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -212,11 +228,11 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.where(ACCOUNT.ID.ge(100))
|
.where(ACCOUNT.ID.ge(100))
|
||||||
.and(ACCOUNT.SEX.eq(1).or(ACCOUNT.SEX.eq(2)))
|
.and(ACCOUNT.SEX.eq(1).or(ACCOUNT.SEX.eq(2)))
|
||||||
.or(ACCOUNT.AGE.in(18,19,20).and(ACCOUNT.USER_NAME.like("michael")));
|
.or(ACCOUNT.AGE.in(18,19,20).and(ACCOUNT.USER_NAME.like("michael")));
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -229,9 +245,9 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.groupBy(ACCOUNT.USER_NAME);
|
.groupBy(ACCOUNT.USER_NAME);
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -242,10 +258,10 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.groupBy(ACCOUNT.USER_NAME)
|
.groupBy(ACCOUNT.USER_NAME)
|
||||||
.having(ACCOUNT.AGE.between(18,25));
|
.having(ACCOUNT.AGE.between(18,25));
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -257,9 +273,10 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.orderBy(ACCOUNT.AGE.asc(), ACCOUNT.USER_NAME.desc().nullsLast());
|
.orderBy(ACCOUNT.AGE.asc()
|
||||||
|
, ACCOUNT.USER_NAME.desc().nullsLast());
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM `tb_account`
|
// SELECT * FROM `tb_account`
|
||||||
@ -270,11 +287,11 @@ QueryWrapper queryWrapper=QueryWrapper.create()
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
QueryWrapper queryWrapper=QueryWrapper.create()
|
QueryWrapper queryWrapper=QueryWrapper.create()
|
||||||
.select()
|
.select()
|
||||||
.from(ACCOUNT)
|
.from(ACCOUNT)
|
||||||
.leftJoin(ARTICLE).on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
.leftJoin(ARTICLE).on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
||||||
.innerJoin(ARTICLE).on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
.innerJoin(ARTICLE).on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
||||||
.where(ACCOUNT.AGE.ge(10));
|
.where(ACCOUNT.AGE.ge(10));
|
||||||
|
|
||||||
// SQL:
|
// SQL:
|
||||||
// SELECT * FROM tb_account
|
// SELECT * FROM tb_account
|
||||||
@ -354,11 +371,11 @@ update(T entity,boolean ignoreNulls)
|
|||||||
|
|
||||||
```java
|
```java
|
||||||
Account account=UpdateEntity.of(Account.class);
|
Account account=UpdateEntity.of(Account.class);
|
||||||
account.setId(100);
|
account.setId(100);
|
||||||
account.setUserName(null);
|
account.setUserName(null);
|
||||||
account.setSex(1);
|
account.setSex(1);
|
||||||
|
|
||||||
accountMapper.update(account,false);
|
accountMapper.update(account,false);
|
||||||
```
|
```
|
||||||
|
|
||||||
以上的示例中,会把 id 为 100 这条数据中的 user_name 字段更新为 null,sex 字段更新为 1,其他字段不会被更新。也就是说,通过 `UpdateEntity`
|
以上的示例中,会把 id 为 100 这条数据中的 user_name 字段更新为 null,sex 字段更新为 1,其他字段不会被更新。也就是说,通过 `UpdateEntity`
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user