eqv2升级v3🔥
2025/5/15大约 2 分钟
eqv2版本已经将主要核心功能全部开发完毕,用户如果不想升级可以继续使用v2,且bug依然会修复
为了框架更好更稳定的发展,与源码的阅读和可维护性,作者打算对v2版本大刀阔斧的进行修改(之前是以功能作为第一优先进行开发毕竟作者自己也要用),一方面是因为历史原因导致easy-query的api4j模块和api4kt模块占用大量类目导致entity下不得不取其他类名,
另一方面过多的api选择让不单让作者精力分散并且也要用户有更多的误解和选择困难,所以v2升级到v3有如下breakchange
BreakChange
配置项默认值变动
配置项 | v2默认值 | v3默认值 |
---|---|---|
propertyMode | FIRST_LOWER | SAME_AS_ENTITY |
mappingStrategy | COLUMN_ONLY | PROPERTY_FIRST |
默认移除keepNativeStyle
框架默认使用keepStyle将原生sql片段单引号变成双单引号如果不需要可以使用messageFormat函数来禁用
移除api4j
v3版本将重心放到entity模式,顾User::getName
这种方式不再推荐,所以api4j包直接移除,那么如果用户想用api4j并且想升级到v3怎么办,用户可以独立拉取v2源码下的sql-api4j
然后单独引入v3的sql-core
包做相关适配
移除api4kt
原因同上
移除过期api
移除带有@Deprecated
标记的过期api,用户可以根据源码提示迁移到新版本api后再升级
GroupKeys.TABLE1.....N
QueryStrategy
、ProxyEntityOnDuplicateKeyUpdate
、SQLOnDuplicateKeyIgnore
接口queryLargeColumn
方法@Column
下的large
属性exists
改成table.expression().exists
notExists
改成table.expression().notExists
valueOrDefault
、fetchBy
、selectSum
、selectAvg
、selectMax
、selectMin
、trimStart
、trimEnd
、plus+TimeUnit
、duration+DateTimeDurationEnum
、sqlType
SQLParameter
、SQLConstantExpression
、join
、sqlType
、sqlType
、sqlType
、sqlType
、sqlType
fetchBy
、keepNativeStyle
类、接口变动
v2 | v3 |
---|---|
SQLExpression1....11 | SQLActionExpression1....11 |
ColumnFunctionCompareComparableStringChainExpression | StringTypeExpression |
ColumnFunctionCompareComparableNumberChainExpression | NumberTypeExpression |
ColumnFunctionCompareComparableDateTimeChainExpression | DateTimeTypeExpression |
ColumnFunctionCompareComparableBooleanChainExpression | BooleanTypeExpression |
ColumnFunctionCompareComparableAnyChainExpression | AnyTypeExpression |
ColumnFunctionCompareComparablePartitionByChainExpression | PartitionByTypeExpression |
ColumnFunctionCompareComparableJsonMapChainExpression | JsonMapTypeExpression |
SQLExpression1....11 | SQLActionExpression1....11 |