MyBatis动态ResultMap。如何返回不同POJO对象的列表?

时间:2017-05-05 13:34:15

标签: java mapping mybatis

MyBatis制图问题。

假设我们有一个表USERS

POST /api/1/services/api/1/deployment/bulk-golive.json?site={siteName}&path={path}&environment={env}

还有3个POJO课程 -

CREATE TABLE USERS(
   USER_ID int(10) NOT NULL AUTO_INCREMENT,
   LOGIN varchar(100) NOT NULL,
   EMAIL varchar(255),
   SALARY int(10),
   AVG_SCORE int(10),
   PRIMARY KEY ( USER_ID )
);

以及另外两个扩展用户的类

public class User {
    private Long id;
    private String login;
    private String email;

...getters/setters
}

和一个映射器(我使用XML但实际上并不重要)。

public class Student extends User {
    private Integer score;
...getters/setters
}

public class Teacher extends User {
    private Integer salary;
...getters/setters
}

我想获得<select id="selectAll" resultMap="<dynamicResultMapHere>"> SELECT * FROM USERS <some conditions here> </select> List<Teacher>个实例,具体取决于SALARY列是否为空。

如何添加动态结果填充?

实际上案件更复杂。我不知何故需要根据查询参数返回不同的结果。

0 个答案:

没有答案