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

php中文网
发布: 2016-06-07 15:06:02
原创
1524人浏览过

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

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

<span>List</span><<span>Map</span><<span>String</span>, <span>String</span>>> listMap = (<span>List</span><<span>Map</span><<span>String</span>, <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>));
登录后复制

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

    <!-- 通过作业 id 查询,查询作业内容和作业格式和要求的单词 -->
    <select id=<span>"queryAssignmentErrorAndReminderByAssId"</span> 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> 
登录后复制

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

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

        <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>);
                }
            }
        }
登录后复制

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

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号