Heim > Datenbank > MySQL-Tutorial > MyBatis 不封装对象获取数据库值的解决方案

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

WBOY
Freigeben: 2016-06-07 15:06:02
Original
1371 Leute haben es durchsucht

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

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

<code><span>List</span>MapString, <span>String</span>>> listMap = (<span>List</span>MapString, <span>String</span>>>) this.getSqlMapClientTemplate().queryForList(<span>"writingEssay.queryAssignmentErrorAndReminderByAssId"</span>, assignment_id);
<span>String</span> context = getEssayContextByJson(listMap.get(<span>0</span>).get(<span>"assignment_history_content"</span>), listMap.get(<span>0</span>).get(<span>"essay_set_format"</span>));</code>
Nach dem Login kopieren

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

<code>    <!-- 通过作业 id 查询,查询作业内容和作业格式和要求的单词 -->
    <select id="<span">"queryAssignmentErrorAndReminderByAssId" resultClass=<span>"java.util.HashMap"</span> parameterClass=<span>"java.lang.Integer"</span>>
        SELECT
            a<span>.assignment</span>_history_content AS assignment_history_content,
            c<span>.essay</span>_set_format AS essay_set_format,
            d<span>.essay</span>_reminder AS essay_reminder
        FROM
            t_assignment_content a,
            t_assignment b,
            t_essay_set c,
            t_essay d
        WHERE
            b<span>.assignment</span>_history_id = a<span>.assignment</span>_history_id
        <span>AND</span> b<span>.assignment</span>_id = $assignment_id$
        <span>AND</span> b<span>.essay</span>_id = d<span>.essay</span>_id
        <span>AND</span> d<span>.essay</span>_set_id = c<span>.essay</span>_set_id<span>;</span>
    </select> </code>
Nach dem Login kopieren

查询数据库得到的结果集。
MyBatis 不封装对象获取数据库值的解决方案
分析:因为我们明确地知道结果集返回一条数据。

下面的知识点和本小节无关。

<code>        <span>if</span> (StringUtils.isNotEmpty(reminder)) {
            <span>for</span> (String <span>str</span> : reminder.split(<span>"#"</span>)) {
                <span>int</span> flag = context.indexOf(<span>str</span>);
                <span>if</span> (flag == -<span>1</span>) {
                    mapReminder.put(<span>str</span>, <span>false</span>);
                } <span>else</span> {
                    mapReminder.put(<span>str</span>, <span>true</span>);
                }
            }
        }</code>
Nach dem Login kopieren

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

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage