From a49a4b24e96ebf26c325e06794a903416a6688bc Mon Sep 17 00:00:00 2001 From: loong0306 Date: Wed, 2 Aug 2023 12:03:28 +0800 Subject: [PATCH] test: add unit test for issue_113 --- .../test/mapper/TbClassMapper.java | 7 +++ .../com/mybatisflex/test/model/TbClass.java | 47 ++++++++++++++++ .../src/main/resources/data.sql | 8 ++- .../src/main/resources/schema.sql | 15 +++++- .../test/issue113/Issue113Test.java | 53 +++++++++++++++++++ .../test/issue113/def/TClassTableDef.java | 18 +++++++ .../test/issue113/def/TUserTableDef.java | 16 ++++++ 7 files changed, 162 insertions(+), 2 deletions(-) create mode 100644 mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/mapper/TbClassMapper.java create mode 100644 mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/model/TbClass.java create mode 100644 mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/Issue113Test.java create mode 100644 mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TClassTableDef.java create mode 100644 mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TUserTableDef.java diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/mapper/TbClassMapper.java b/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/mapper/TbClassMapper.java new file mode 100644 index 00000000..802f0eda --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/mapper/TbClassMapper.java @@ -0,0 +1,7 @@ +package com.mybatisflex.test.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.mybatisflex.test.model.TbClass; + +public interface TbClassMapper extends BaseMapper { +} diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/model/TbClass.java b/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/model/TbClass.java new file mode 100644 index 00000000..0519b0ca --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/main/java/com/mybatisflex/test/model/TbClass.java @@ -0,0 +1,47 @@ +package com.mybatisflex.test.model; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; + +@Table(value = "tb_class") +public class TbClass { + @Id + private Long id; + + private Long user_id; + + private String className; + + public Long getId() { + return id; + } + + public Long getUser_id() { + return user_id; + } + + public String getClassName() { + return className; + } + + public void setId(Long id) { + this.id = id; + } + + public void setUser_id(Long user_id) { + this.user_id = user_id; + } + + public void setClassName(String className) { + this.className = className; + } + + @Override + public String toString() { + return "TbClass{" + + "id=" + id + + ", user_id=" + user_id + + ", className='" + className + '\'' + + '}'; + } +} diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/data.sql b/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/data.sql index 39f4cc16..fb75a0ae 100644 --- a/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/data.sql +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/data.sql @@ -1,2 +1,8 @@ INSERT INTO tb_account -VALUES (1, 'Michael Yang', 18, '2020-01-11'); \ No newline at end of file +VALUES (1, 'Michael Yang', 18, '2020-01-11'); + +INSERT INTO tb_class +VALUES (1, 1, 'class111'); + +INSERT INTO tb_user +VALUES (1, 'tom'); diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/schema.sql b/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/schema.sql index c0f2c96f..a77acf68 100644 --- a/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/schema.sql +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/main/resources/schema.sql @@ -4,4 +4,17 @@ CREATE TABLE IF NOT EXISTS `tb_account` `user_name` VARCHAR(100) NOT NULL, `age` Integer, `birthday` DATETIME -); \ No newline at end of file +); + +CREATE TABLE IF NOT EXISTS `tb_class` +( + `id` INTEGER PRIMARY KEY, + `user_id` Integer NOT NULL, + `class_name` VARCHAR(100) +); + +CREATE TABLE IF NOT EXISTS `tb_user` +( + `id` INTEGER PRIMARY KEY, + `name` VARCHAR(100) +); diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/Issue113Test.java b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/Issue113Test.java new file mode 100644 index 00000000..9f3bd777 --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/Issue113Test.java @@ -0,0 +1,53 @@ +package com.mybatisflex.test.issue113; + +import com.mybatisflex.core.query.QueryWrapper; +import com.mybatisflex.test.AppConfig; +import com.mybatisflex.test.mapper.TbClassMapper; +import com.mybatisflex.test.model.TbClass; +import org.assertj.core.api.WithAssertions; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +import java.util.List; + +import static com.mybatisflex.test.issue113.def.TClassTableDef.TB_CLASS; +import static com.mybatisflex.test.issue113.def.TUserTableDef.TB_USER; + +/** + *

Title: Issue113Test.

+ *

Date: 2023/8/2 12:02

+ * + * @author loong0306 + */ +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = AppConfig.class) +public class Issue113Test implements WithAssertions { + @Autowired + private TbClassMapper tbClassMapper; + + @Test + public void testQuery() { + QueryWrapper query = new QueryWrapper() + .select() + .from(TB_CLASS); + System.out.println(query.toSQL()); + List list = tbClassMapper.selectListByQuery(query); + System.out.println(">>> result = " + list.toString()); + } + + @Test + public void issue113() { + QueryWrapper query = new QueryWrapper() + .select() + .from(TB_CLASS) + .innerJoin(TB_USER) + .on(TB_CLASS.USER_ID.eq(TB_USER.ID)) + .where(TB_CLASS.USER_ID.eq(1)); + System.out.println(query.toSQL()); + List list = tbClassMapper.selectListByQuery(query); + System.out.println(">>> result = " + list.toString()); + } +} diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TClassTableDef.java b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TClassTableDef.java new file mode 100644 index 00000000..6e858ce0 --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TClassTableDef.java @@ -0,0 +1,18 @@ +package com.mybatisflex.test.issue113.def; + +import com.mybatisflex.core.query.QueryColumn; +import com.mybatisflex.core.table.TableDef; + +public class TClassTableDef extends TableDef { + public static final TClassTableDef TB_CLASS = new TClassTableDef(); + + public final QueryColumn ID = new QueryColumn(this, "id"); + + public final QueryColumn USER_ID = new QueryColumn(this, "user_id"); + + public final QueryColumn CLASS_NAME = new QueryColumn(this, "class_name"); + + public TClassTableDef() { + super("", "tb_class"); + } +} diff --git a/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TUserTableDef.java b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TUserTableDef.java new file mode 100644 index 00000000..065688a3 --- /dev/null +++ b/mybatis-flex-test/mybatis-flex-spring-test/src/test/java/com/mybatisflex/test/issue113/def/TUserTableDef.java @@ -0,0 +1,16 @@ +package com.mybatisflex.test.issue113.def; + +import com.mybatisflex.core.query.QueryColumn; +import com.mybatisflex.core.table.TableDef; + +public class TUserTableDef extends TableDef { + public static final TUserTableDef TB_USER = new TUserTableDef(); + + public final QueryColumn ID = new QueryColumn(this, "id"); + + public final QueryColumn NAME = new QueryColumn(this, "name"); + + public TUserTableDef() { + super("", "tb_user"); + } +}