test: 测试 IAU28L 问题。

This commit is contained in:
王帅 2024-10-03 20:24:36 +08:00
parent e49ec138f2
commit 16c5bca1a1
4 changed files with 82 additions and 1 deletions

View File

@ -17,6 +17,8 @@
package com.mybatisflex.test.mapper; package com.mybatisflex.test.mapper;
import com.mybatisflex.test.model.Account; import com.mybatisflex.test.model.Account;
import com.mybatisflex.test.model.AccountDto;
import com.mybatisflex.test.model.AccountView;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
@ -25,7 +27,9 @@ import java.util.Map;
public interface MyAccountMapper extends AccountMapper { public interface MyAccountMapper extends AccountMapper {
// AccountDto selectByName(@Param("name") String name); AccountDto selectByName(@Param("name") String name);
AccountView selectViewObject();
@Select("select * from tb_account where id = #{id} and id =#{id}") @Select("select * from tb_account where id = #{id} and id =#{id}")
Account selectById(@Param("id") Object id); Account selectById(@Param("id") Object id);

View File

@ -0,0 +1,54 @@
package com.mybatisflex.test.model;
import java.util.Date;
import java.util.List;
/**
* 复杂查询接收类
* <a href="https://gitee.com/mybatis-flex/mybatis-flex/issues/IAU28L">演示问题</a>
*
* @author 王帅
* @since 2024-10-03
*/
@SuppressWarnings({"LombokGetterMayBeUsed", "LombokSetterMayBeUsed"})
public class AccountView {
private Long id;
private String userName;
private Date birthday;
private List<Account> accountList;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public List<Account> getAccountList() {
return accountList;
}
public void setAccountList(List<Account> accountList) {
this.accountList = accountList;
}
}

View File

@ -26,4 +26,19 @@
select count(*) from `tb_account` ${qwSql} select count(*) from `tb_account` ${qwSql}
</select> </select>
<resultMap id="AccountViewObject" type="com.mybatisflex.test.model.AccountView">
<id property="id" column="id"/>
<result property="userName" column="user_name"/>
<result property="birthday" column="birthday"/>
<association property="accountList" column="id" select="selectAssociation"/>
</resultMap>
<select id="selectViewObject" resultMap="AccountViewObject">
select id, user_name, birthday from tb_account where id = 1
</select>
<select id="selectAssociation" resultType="com.mybatisflex.test.model.Account">
select * from tb_account where id = #{id}
</select>
</mapper> </mapper>

View File

@ -17,6 +17,8 @@
package com.mybatisflex.test.mapper; package com.mybatisflex.test.mapper;
import com.mybatisflex.test.model.Account; import com.mybatisflex.test.model.Account;
import com.mybatisflex.test.model.AccountView;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
@ -37,6 +39,12 @@ class MyAccountMapperTest {
@Autowired @Autowired
private MyAccountMapper mapper; private MyAccountMapper mapper;
@Test
void complexSelect() {
AccountView accountView = Assertions.assertDoesNotThrow(() -> mapper.selectViewObject());
System.out.println(accountView);
}
@Test @Test
void insertBatch() { void insertBatch() {
List<Account> accounts = new ArrayList<>(); List<Account> accounts = new ArrayList<>();