2020-11-15

本文介绍了在MyBatis中遇到'There is no getter for property named XX in class java.lang.String'异常,当使用String类型参数与IN关键字配合时的解决办法,重点提到了在接口方法参数前添加@Param注解的技巧。

ssm中如果报异常:There is no getter for property named XX in 'class java.lang.String’异常

在mybatis书写sql查询语句时使用 in关键字。参数时String 类型
在这里插入图片描述
在这里插入图片描述
出现:
There is no getter for property named XX in 'class java.lang.String’异常
在这里插入图片描述
解决方法:解决方法是:接口的方法参数前添加:@Param(value=“qids”)
在这里插入图片描述

下面对代码 `li = [{'ddate': '2020-11-11', 'collects': 189}, {'ddate': '2020-11-18', 'collects': 189}, {'ddate': '2020-11-15', 'collects': 189}]; new = sorted(li, key=lambda x: x['ddate']); print(new)` 进行详细解释。 ### 代码整体功能 这段代码的主要功能是对包含字典的列表 `li` 按照字典中的 `ddate` 键对应的值进行升序排序,最后输出排序后的列表。 ### 代码逐行解释 #### 1. 定义列表 `li` ```python li = [{'ddate': '2020-11-11', 'collects': 189}, {'ddate': '2020-11-18', 'collects': 189}, {'ddate': '2020-11-15', 'collects': 189}] ``` 这行代码定义了一个列表 `li`,列表中的每个元素都是一个字典。每个字典包含两个键值对:`ddate` 表示日期,`collects` 表示某个收集数量。这里的日期是以字符串形式存储的。 #### 2. 使用 `sorted` 函数进行排序 ```python new = sorted(li, key=lambda x: x['ddate']) ``` - `sorted` 函数是 Python 内置的用于排序的函数,它会返回一个新的已排序的列表,而不会改变原列表。 - `li` 是要排序的列表。 - `key` 是一个可选参数,它接受一个函数作为参数。这个函数会作用于列表中的每个元素,返回一个用于排序的关键字。 - `lambda x: x['ddate']` 是一个匿名函数,它接受一个参数 `x`(这里的 `x` 就是列表 `li` 中的每个字典),并返回字典中 `ddate` 键对应的值。`sorted` 函数会根据这个返回值对列表进行排序。 #### 3. 输出排序后的列表 ```python print(new) ``` 这行代码会打印出排序后的列表 `new`。 ### 完整代码示例 ```python li = [{'ddate': '2020-11-11', 'collects': 189}, {'ddate': '2020-11-18', 'collects': 189}, {'ddate': '2020-11-15', 'collects': 189}] new = sorted(li, key=lambda x: x['ddate']) print(new) ``` ### 注意事项 由于日期是以字符串形式存储的,`sorted` 函数会按照字符串的字典序进行排序。在这种情况下,字符串形式的日期排序结果和日期的实际顺序是一致的。但如果日期格式更复杂或者需要进行降序排序等操作,可能需要对代码进行相应的调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值