Rumah > pangkalan data > tutorial mysql > MyBatis 不封装对象获取数据库值的解决方案

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-07 15:06:02
asal
1419 orang telah melayarinya

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>
Salin selepas log masuk

我们再来看看底层的 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>
Salin selepas log masuk

查询数据库得到的结果集。
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>
Salin selepas log masuk

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Isu terkini
Masalah pemetaan Mybatis
daripada 1970-01-01 08:00:00
0
0
0
REGEXP dalam mybatis
daripada 1970-01-01 08:00:00
0
0
0
java - Masalah penukar tersuai mybatis but spring
daripada 1970-01-01 08:00:00
0
0
0
java - Pertanyaan berkaitan Mybatis
daripada 1970-01-01 08:00:00
0
0
0
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan