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> 查询数据库得到的结果集。
分析:因为我们明确地知道结果集返回一条数据。
下面的知识点和本小节无关。
<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>);
}
}
}
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
C++高性能并发应用_C++如何开发性能关键应用
Java AI集成Deep Java Library_Java怎么集成AI模型部署
Golang后端API开发_Golang如何高效开发后端和API
Python异步并发改进_Python异步编程有哪些新改进
C++系统编程内存管理_C++系统编程怎么与Rust竞争内存安全
Java GraalVM原生镜像构建_Java怎么用GraalVM构建高效原生镜像
Python FastAPI异步API开发_Python怎么用FastAPI构建异步API
C++现代C++20/23/26特性_现代C++有哪些新标准特性如modules和coroutines
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号