add example Logic

This commit is contained in:
Timi
2026-01-15 17:22:47 +08:00
parent fd7bb73f5c
commit 7cd79bff55
9 changed files with 235 additions and 46 deletions

View File

@@ -1,5 +1,6 @@
package com.imyeyu.spring.util;
import com.imyeyu.spring.bean.Logic;
import com.imyeyu.spring.bean.Page;
import com.imyeyu.spring.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
@@ -89,21 +90,23 @@ public class SQLProvider extends BaseSQLProvider {
* 根据实体非空字段使用等号查询
*
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String selectByExample(Object entity) {
return selectAllByExample(entity) + BaseMapper.LIMIT_1;
public String selectByExample(@Param("entity") Object entity, @Param("logic") Logic logic) {
return selectAllByExample(entity, logic) + BaseMapper.LIMIT_1;
}
/**
* 根据实体非空字段使用等号查询
*
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String selectAllByExample(Object entity) {
public String selectAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(entity.getClass());
return buildSelectAllByExampleSQL(meta, meta.table, entity, "");
return buildSelectAllByExampleSQL(meta, meta.table, entity, "entity.", logic);
}
/**
@@ -144,11 +147,12 @@ public class SQLProvider extends BaseSQLProvider {
* 根据示例批量逻辑删除
*
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String deleteAllByExample(Object entity) {
public String deleteAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(entity.getClass());
return buildDeleteAllByExampleSQL(meta, meta.table, entity, "");
return buildDeleteAllByExampleSQL(meta, meta.table, entity, "entity.", logic);
}
/**
@@ -167,10 +171,11 @@ public class SQLProvider extends BaseSQLProvider {
* 根据示例批量销毁(物理删除)
*
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String destroyAllByExample(Object entity) {
public String destroyAllByExample(@Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(entity.getClass());
return buildDestroyAllByExampleSQL(meta, meta.table, entity, "");
return buildDestroyAllByExampleSQL(meta, meta.table, entity, "entity.", logic);
}
}