MyBatis 不封装对象获取数据库值的解决方案

MyBatis 不封装对象获取数据库值的解决方案
思路:如果我们不想封装对象,使用 Map 来封装 SQL 查询的结果集是一个理想的方案。下面就是一个实现类示例。

List<Map<String, String>> listMap = (List<Map<String, String>>) this.getSqlMapClientTemplate().queryForList("writingEssay.queryAssignmentErrorAndReminderByAssId", assignment_id);
String context = getEssayContextByJson(listMap.get(0).get("assignment_history_content"), listMap.get(0).get("essay_set_format"));

我们再来看看底层的 SQL 语句。

<!-- 通过作业 id 查询,查询作业内容和作业格式和要求的单词 -->
<select id="queryAssignmentErrorAndReminderByAssId" resultClass="java.util.HashMap" parameterClass="java.lang.Integer">
    SELECT
        a.assignment_history_content AS assignment_history_content,
        c.essay_set_format AS essay_set_format,
        d.essay_reminder AS essay_reminder
    FROM
        t_assignment_content a,
        t_assignment b,
        t_essay_set c,
        t_essay d
    WHERE
        b.assignment_history_id = a.assignment_history_id
    AND b.assignment_id = $assignment_id$
    AND b.essay_id = d.essay_id
    AND d.essay_set_id = c.essay_set_id;
</select> 

查询数据库得到的结果集。
这里写图片描述
分析:因为我们明确地知道结果集返回一条数据。

你可能感兴趣的:(mybatis)