kotlin使用mybatis plus lambdaQuery报错

记录一下学习kotlin中遇到的问题

报错

bash 复制代码
### Error querying database.  
Cause: org.apache.ibatis.builder.BuilderException: 
Error evaluating expression 
'ew.sqlSegment != null and ew.sqlSegment != '''. 
Cause: org.apache.ibatis.ognl.OgnlException: 
sqlSegment [org.apache.ibatis.reflection.ReflectionException: 
Error parsing property name 'querySingleAnnualIncomeBudget$lambda$2'.  Didn't start with 'is', 'get' or 'set'.]

先把我的实体类贴一下

kotlin 复制代码
data class AnnualIncomeBudget(
	@TableId(type = IdType.ASSIGN_ID)
	var id: Long? = null,

	@ApiModelProperty("年份")
	var year: @NotNull(message = "[年份]不能为空") Int? = null,

	@ApiModelProperty("年初总收入预算金额")
	var totalBudget: @NotNull(message = "[年初总收入预算金额]不能为空") BigDecimal? = null,

	@ApiModelProperty("剩余开票额度")
	var remainingBudget: @NotNull(message = "[剩余开票额度]不能为空") BigDecimal? = null,

	@ApiModelProperty("创建时间")
	var createTime: @NotNull(message = "[创建时间]不能为空") LocalDateTime? = null,

	@ApiModelProperty("更新时间")
	var updateTime: @NotNull(message = "[更新时间]不能为空") LocalDateTime? = null,
)

然后时查询, 很简单

kotlin 复制代码
override fun querySingleAnnualIncomeBudget(year: Int): AnnualIncomeBudget? {
	return getOne(
		Wrappers.lambdaQuery<AnnualIncomeBudget>()
			.eq(AnnualIncomeBudget::year, year)
	)
}

直接贴解决方案

kotlin 复制代码
override fun querySingleAnnualIncomeBudget(year: Int): AnnualIncomeBudget? {
	return getOne(
		Wrappers.query<AnnualIncomeBudget>()
			.eq(AnnualIncomeBudget::year.name, year)
	)
}

放弃lambdaQuery改用query, lambdaquery最终还是会转换成string类型

Kotlin这里AnnualIncomeBudget::year他解析成一个高阶函数了

相关推荐
狮子座明仔3 分钟前
AgentSPEX:当 Agent 框架开始把“控制流“从 Python 里抠出来
开发语言·python
笨笨饿29 分钟前
74_SysTick滴答定时器中断
c语言·开发语言·人工智能·单片机·嵌入式硬件·算法·学习方法
科芯创展1 小时前
XZ4058B/C,20V,外置MOS,8.4V/8.7V开关充电芯片 宽范围电源电压:8.9V~20V-(电池充电电压:8.4V/8.7V)
c语言·开发语言
AI玫瑰助手1 小时前
Python流程控制:break与continue语句的区别与应用
开发语言·python·信息可视化
largecode2 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java2 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
Aurorar0rua2 小时前
CS50 x 2024 Notes C -11
c语言·开发语言·学习方法
Dlrb12112 小时前
C语言-指针
c语言·开发语言
zhangzhi19798155922 小时前
Agent Skills
开发语言·python