Mabitis 多表查询resultType=“java.util.hashMap”
Posted siesteven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mabitis 多表查询resultType=“java.util.hashMap”相关的知识,希望对你有一定的参考价值。
1、进行单表查询的时候,xml标签的写法如下
进行多表查询,且无确定返回类型时 xml标签写法如下:
<select id="Volume" parameterType="java.util.Map" resultType="java.util.HashMap">
因为没有对应的类型,所以返回HashMap 类型的结果。此时需要在dao中添加 java.util.HashMap 的引用。否则报错。
2、此次bug处理。另外习得从异常信息定位缺陷。
错误文件和错误地址都会显示到异常信息里。找到对应的关键字即可。
如,第一个错误最后一部分的信息为: Failed to parse mapping resource: \'file [D:\\JavaIDESoftWare\\LeMapper.xml]\'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: org.apache.ibatis.builder.BuilderException: Error resolving class. Cause: org.apache.ibatis.type.TypeException: Could not resolve type alias \'java.util.hashMap\'. Cause: java.lang.ClassNotFoundException: Cannot find class: java.util.hashMap
文件LeMapper.xml映射失败,未找到hashMap类。把HashMap 写成了hashMap!!!
找到xml文件,
最开始写的函数返回值类型为:List<Object> ,因此没有加载包 java.util.Map的时候并没报错。经同事修改函数后,函数返回值类型变为List<Map<String,Object>> ,因此,当把包去掉
直接报了语法错误
3、数据库获取当前时间
mysql sqlserver
now() -- getdate()
比较全的mysql 时间相关处理的文章 MySQL获取时间和时间转换
4、断点处理
百度经验的文章,删除所有断点。好羞耻啊。竟然去找百度经验。。。。
5、bug 2 sql语句错误。
(1)未处理时间参数,造成错误
(2)还原数据库后,表结构对应不上了
症状是:(1)无代码(2)控制台直接提示 sql语句错误
6、阅读项目流程
以上是关于Mabitis 多表查询resultType=“java.util.hashMap”的主要内容,如果未能解决你的问题,请参考以下文章
多表查询用resultType还是resultMap&Invalid bound statement (not found)解决
MyBatis resultType 与 resultMap多表查询(association,collection)动态SQL的使用(iftrimwheresetforeach)