mysql resulttype map_Mabitis 多表查询(一)resultType=“java.util.hashMap”

1、进行单表查询的时候,xml标签的写法如下

进行多表查询,且无确定返回类型时 xml标签写法如下:

因为没有对应的类型,所以返回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 ,因此没有加载包 java.util.Map的时候并没报错。经同事修改函数后,函数返回值类型变为List> ,因此,当把包去掉

f2c48993a0b370816d08348934e92c17.png

直接报了语法错误

9010fd37b12d29c223efc4cce1955777.png

3、数据库获取当前时间

mysql     sqlserver

now() -- getdate()

比较全的mysql 时间相关处理的文章 MySQL获取时间和时间转换

4、断点处理

百度经验的文章,删除所有断点。好羞耻啊。竟然去找百度经验。。。。

5、bug 2 sql语句错误。

(1)未处理时间参数,造成错误

(2)还原数据库后,表结构对应不上了

症状是:(1)无代码(2)控制台直接提示 sql语句错误

6、阅读项目流程

e47fa202a699dda67bde704b2978261a.png

原文:http://www.cnblogs.com/siesteven/p/6180181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<select id="getdatatypeconfig" parameterType="java.util.HashMap" resultType="java.util.HashMap"> SELECT [datatypeconfig_colname] ,[datatypeconfig_strtype] ,[datatypeconfig_strlen] ,[datatypeconfig_strdecimal] ,[datatypeconfig_order] ,[datatypeconfig_remark] ,b.datavalue_colvalue AS datavalue FROM [JxBivAppUserDB].[dbo].[jxbivtob_settlement_datatypeconfig] a LEFT JOIN [JxBivAppUserDB].[dbo].[jxbivtob_settlement_datavalue] b ON a.datatype_id=b.datatype_id AND a.datatypeconfig_id=b.datatypeconfig_id WHERE b.datafile_id=(SELECT TOP (1) [datafile_id] FROM [JxBivAppUserDB].[dbo].[jxbivtob_settlement_datafile] WHERE datatype_id=9 ORDER BY datafile_id DESC) AND b.datatype_id=(SELECT TOP (1) datatype_id FROM [JxBivAppUserDB].[dbo].[jxbivtob_settlement_datafile] WHERE datatype_id=9 ORDER BY datafile_id DESC) </select> <insert id="insert_fundsettlementdays" parameterType="java.util.HashMap"> INSERT INTO [JxBivAppUserDB].[dbo].[jxbivtob_settlement_fundsettlementdays] (${columnNames}) VALUES (${columnValues}) </insert>public Map<String,Object> insert_fundsettlementdays(HttpServletRequest request, HttpServletResponse response){ response.setCharacterEncoding("UTF-8"); Map<String,Object> map =new HashMap<>(); List<HashMap> datatypeList=userDao.selectList("basessm.mapper.fundsettlementdays.getdatatypeconfig"); if (datatypeList == null || datatypeList.isEmpty()) { // 处理查询结果为空的情况 map.put("info", "No data available"); return map; } HashMap hashMap =new HashMap(); userDao.insert("basessm.mapper.fundsettlementdays.insert_fundsettlementdays",hashMap); map.put("info", "success"); return map; }根据我的SQL语句和方法来完成需求
最新发布
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值