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他解析成一个高阶函数了

相关推荐
程序员编程指南5 分钟前
Qt 移动应用性能优化策略
c语言·开发语言·c++·qt·性能优化
励志成为糕手18 分钟前
编程语言Java——核心技术篇(五)IO流:数据洪流中的航道设计
java·开发语言·性能优化
世界emm1 小时前
Python 脚本:获取公网 IPv4 和 IPv6 地址
开发语言·python
慕y2741 小时前
Java学习第八十四部分——HttpClient
java·开发语言·学习
Bruce-li__2 小时前
Python多线程利器:重入锁(RLock)详解——原理、实战与避坑指南
开发语言·python
程序员编程指南2 小时前
Qt 移动应用常见问题与解决方案
c语言·开发语言·c++·qt
kebeiovo2 小时前
C++代码题部分(1)
开发语言·c++
tomato092 小时前
河南萌新联赛2025第(二)场:河南农业大学(补题)
开发语言·c++
程序猿小D3 小时前
基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
数据库·spring boot·mysql·vue·mybatis·毕业论文·便利店信息管理系统
双力臂4043 小时前
Java注解与反射:从自定义注解到框架设计原理
java·开发语言