Mabitis 多表查询(一)resultType=“java.util.hashMap”
Posted on 2016-12-14 17:27 siesteven 阅读(11211) 评论(0) 编辑 收藏 举报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、阅读项目流程