1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package org.example.join.util;
- import cn.hutool.core.util.StrUtil;
- import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
- import com.baomidou.mybatisplus.core.metadata.TableInfo;
- import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
- import com.baomidou.mybatisplus.core.toolkit.StringPool;
- import org.example.join.domain.IQueryColumn;
- import org.example.join.domain.Table;
- import java.util.Map;
- import java.util.StringJoiner;
- public class SqlUtil {
- public static String getTableAlias(Table table, Map<String, String> tableAliasMap) {
- String tableAlias = table.getAlias();
- String tableName = table.getName();
- if (StrUtil.isBlank(tableAlias)) {
- tableAlias = tableAliasMap.get(tableName);
- if (StrUtil.isBlank(tableAlias)) {
- throw new IllegalArgumentException("未知连表:" + tableName);
- }
- }
- return tableAlias;
- }
- public static String getTableDelFlag(Table table) {
- TableInfo tableInfo = TableInfoHelper.getTableInfo(table.getName());
- if (!tableInfo.isWithLogicDelete()) {
- return null;
- }
- TableFieldInfo logicDeleteFieldInfo = tableInfo.getLogicDeleteFieldInfo();
- return logicDeleteFieldInfo.getColumn();
- }
- public static void putParam(Map<String, Object> paramMap, StringJoiner joiner, Object value) {
- String mapKey = SqlConstant.SQL_PARAM + (paramMap.size() + 1);
- joiner.add(StringPool.HASH_LEFT_BRACE + mapKey + StringPool.RIGHT_BRACE);
- paramMap.put(mapKey, value);
- }
- public static void putValue(Map<String, String> tableAliasMap, Map<String, Object> paramMap, StringJoiner joiner, Object value) {
- if (value instanceof IQueryColumn) {
- joiner.add(((IQueryColumn) value).toSql(tableAliasMap, paramMap));
- } else {
- putParam(paramMap, joiner, value);
- }
- }
- }
|