mirror of
https://gitee.com/mybatis-flex/mybatis-flex.git
synced 2025-12-07 17:18:24 +08:00
test: update test
This commit is contained in:
parent
9f142276da
commit
a221833742
@ -20,6 +20,7 @@ import com.mybatisflex.core.MybatisFlexBootstrap;
|
||||
import com.mybatisflex.core.audit.AuditManager;
|
||||
import com.mybatisflex.core.audit.ConsoleMessageCollector;
|
||||
import com.mybatisflex.core.datasource.DataSourceKey;
|
||||
import com.mybatisflex.core.logicdelete.LogicDeleteManager;
|
||||
import com.mybatisflex.core.mybatis.Mappers;
|
||||
import com.mybatisflex.core.query.If;
|
||||
import com.mybatisflex.core.query.QueryColumnBehavior;
|
||||
@ -30,6 +31,7 @@ import com.mybatisflex.core.update.UpdateChain;
|
||||
import com.mybatisflex.core.update.UpdateWrapper;
|
||||
import com.mybatisflex.core.util.UpdateEntity;
|
||||
import com.mybatisflex.mapper.ArticleMapper;
|
||||
import com.mybatisflex.test.table.ArticleTableDef;
|
||||
import org.apache.ibatis.logging.stdout.StdOutImpl;
|
||||
import org.assertj.core.api.WithAssertions;
|
||||
import org.assertj.core.data.Index;
|
||||
@ -236,29 +238,36 @@ public class AccountNativeTest implements WithAssertions {
|
||||
*/
|
||||
@Test
|
||||
public void testGiteeIssue_I7QD29() {
|
||||
LogicDeleteManager.execWithoutLogicDelete(()->{
|
||||
|
||||
|
||||
QueryWrapper queryWrapper = QueryWrapper.create();
|
||||
ArticleTableDef a1 = ARTICLE.as("a1");
|
||||
ArticleTableDef a2 = ARTICLE.as("a2");
|
||||
queryWrapper.from(ACCOUNT)
|
||||
.leftJoin(ARTICLE).as("a1").on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
||||
.leftJoin(ARTICLE).as("a2").on(ACCOUNT.ID.eq(ARTICLE.ACCOUNT_ID))
|
||||
.leftJoin(a1).on(ACCOUNT.ID.eq(a1.ACCOUNT_ID))
|
||||
.leftJoin(a2).on(ACCOUNT.ID.eq(a2.ACCOUNT_ID))
|
||||
.where(ACCOUNT.ID.ge(1));
|
||||
List<Article> accounts = articleMapper.selectListByQuery(queryWrapper);
|
||||
accounts = articleMapper.selectListByQuery(queryWrapper);
|
||||
String expectSql = "SELECT * FROM `tb_account` " +
|
||||
"LEFT JOIN `tb_article` AS `a1` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a1`.`is_delete` = 0 " +
|
||||
"LEFT JOIN `tb_article` AS `a2` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a2`.`is_delete` = 0 " +
|
||||
"WHERE (`tb_account`.`id` >= 1) AND `tb_account`.`is_delete` = 0";
|
||||
"LEFT JOIN `tb_article` AS `a1` ON `tb_account`.`id` = `a1`.`account_id` " +
|
||||
"LEFT JOIN `tb_article` AS `a2` ON `tb_account`.`id` = `a2`.`account_id` " +
|
||||
"WHERE `tb_account`.`id` >= 1";
|
||||
// "WHERE `tb_account`.`id` >= 1";
|
||||
//SELECT * FROM `tb_account`
|
||||
// LEFT JOIN `tb_article` AS `a1` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a1`.`is_delete` = 0
|
||||
// LEFT JOIN `tb_article` AS `a2` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a2`.`is_delete` = 0
|
||||
// WHERE `tb_account`.`id` >= 1
|
||||
System.out.println("aa>>11: \"" + queryWrapper.toSQL()+"\"");
|
||||
System.out.println("aa>>22: \"" + expectSql+"\"");
|
||||
// SELECT * FROM `tb_account`
|
||||
// LEFT JOIN `tb_article` AS `a1` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a1`.`is_delete` = 0
|
||||
// LEFT JOIN `tb_article` AS `a2` ON (`tb_account`.`id` = `a1`.`account_id`) AND `a2`.`is_delete` = 0
|
||||
// WHERE `tb_account`.`id` >= 1
|
||||
// assertThat(queryWrapper.toSQL()).isEqualTo(expectSql);
|
||||
assertThat(accounts).hasSize(9);
|
||||
assertThat(queryWrapper.toSQL()).isEqualTo(expectSql);
|
||||
// assertThat(accounts).hasSize(9);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -44,14 +44,16 @@ public class EnumTest implements WithAssertions {
|
||||
QueryWrapper query = new QueryWrapper()
|
||||
.select()
|
||||
.from(ACCOUNT).where(ACCOUNT.SEX.in(Sex.MALE, Sex.FEMALE));
|
||||
// 注意,此处虽然显示是MALE、FEMALE,但是如果使用了枚举的typeHandler,实际sql执行时会使用typeHandler进行处理
|
||||
assertThat(query.toSQL()).isEqualTo("SELECT * FROM `tb_account` WHERE `sex` IN ('MALE', 'FEMALE')");
|
||||
|
||||
System.out.println("sql >>aa: " + query.toSQL());
|
||||
assertThat(query.toSQL()).isEqualTo("SELECT * FROM `tb_account` WHERE `sex` IN (MALE, FEMALE)");
|
||||
List<Account> list = accountMapper.selectListByQuery(query);
|
||||
assertThat(list).isNotNull();
|
||||
for (Account account : list) {
|
||||
assertThat(account.getSex()).isIn(Sex.MALE, Sex.FEMALE);
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void test_create_entity_with_enum_type() {
|
||||
Account account = new Account();
|
||||
@ -59,13 +61,14 @@ public class EnumTest implements WithAssertions {
|
||||
QueryWrapper queryWrapper = QueryWrapper.create(account);
|
||||
String sql = queryWrapper.toSQL();
|
||||
System.out.println(sql);
|
||||
// 注意,此处虽然显示是MALE,但是如果使用了枚举的typeHandler,实际sql执行时会使用typeHandler进行处理
|
||||
assertThat(sql).isEqualTo("SELECT `id`, `user_name`, `age`, `birthday`, `sex` FROM `tb_account` WHERE `sex` = 'MALE'");
|
||||
|
||||
List<Account> list = accountMapper.selectListByQuery(queryWrapper);
|
||||
assertThat(list).isNotNull();
|
||||
for (Account item : list) {
|
||||
assertThat(item.getSex()).isEqualTo(Sex.MALE);
|
||||
}
|
||||
|
||||
assertThat(sql).isEqualTo("SELECT `id`, `user_name`, `age`, `birthday`, `sex` FROM `tb_account` WHERE `sex` = 1");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user