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,10 +90,11 @@ public class DynamicTableSQLProvider extends BaseSQLProvider {
* @param context 代理器上下文
* @param tableName 表名
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String selectByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity) {
return selectAllByExample(context, tableName, entity) + BaseMapper.LIMIT_1;
public String selectByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity, @Param("logic") Logic logic) {
return selectAllByExample(context, tableName, entity, logic) + BaseMapper.LIMIT_1;
}
/**
@@ -101,11 +103,12 @@ public class DynamicTableSQLProvider extends BaseSQLProvider {
* @param context 代理器上下文
* @param tableName 表名
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String selectAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity) {
public String selectAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(context);
return buildSelectAllByExampleSQL(meta, tableName, entity, "entity.");
return buildSelectAllByExampleSQL(meta, tableName, entity, "entity.", logic);
}
/**
@@ -153,11 +156,12 @@ public class DynamicTableSQLProvider extends BaseSQLProvider {
* @param context 代理器上下文
* @param tableName 表名
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String deleteAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity) {
public String deleteAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(context);
return buildDeleteAllByExampleSQL(meta, tableName, entity, "entity.");
return buildDeleteAllByExampleSQL(meta, tableName, entity, "entity.", logic);
}
/**
@@ -174,15 +178,16 @@ public class DynamicTableSQLProvider extends BaseSQLProvider {
}
/**
* 根据示例批量逻辑删除
* 根据示例批量物理删除
*
* @param context 代理器上下文
* @param tableName 表名
* @param entity 实体
* @param logic 条件连接逻辑
* @return SQL
*/
public String destroyAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity) {
public String destroyAllByExample(ProviderContext context, @Param("tableName") String tableName, @Param("entity") Object entity, @Param("logic") Logic logic) {
EntityMeta meta = getEntityMeta(context);
return buildDestroyAllByExampleSQL(meta, tableName, entity, "entity.");
return buildDestroyAllByExampleSQL(meta, tableName, entity, "entity.", logic);
}
}