All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.mybatisflex.core.dialect.IDialect Maven / Gradle / Ivy

There is a newer version: 1.10.5
Show newest version
/*
 *  Copyright (c) 2022-2025, Mybatis-Flex ([email protected]).
 *  

* Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at *

* http://www.apache.org/licenses/LICENSE-2.0 *

* Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.mybatisflex.core.dialect; import com.mybatisflex.core.query.QueryWrapper; import com.mybatisflex.core.row.Row; import com.mybatisflex.core.table.TableInfo; import com.mybatisflex.core.table.TableManager; import java.util.Collection; import java.util.List; /** * @author michael */ public interface IDialect { String wrap(String keyword); String wrapColumnAlias(String keyword); default String getRealTable(String table, OperateType operateType) { return TableManager.getRealTable(table, operateType); } default String getRealSchema(String schema, String table, OperateType operateType) { return TableManager.getRealSchema(schema, table, operateType); } String forHint(String hintString); String forInsertRow(String schema, String tableName, Row row); String forInsertBatchWithFirstRowColumns(String schema, String tableName, List rows); String forDeleteById(String schema, String tableName, String[] primaryKeys); String forDeleteBatchByIds(String schema, String tableName, String[] primaryKeys, Object[] ids); String forDeleteByQuery(QueryWrapper queryWrapper); String forUpdateById(String schema, String tableName, Row row); String forUpdateByQuery(QueryWrapper queryWrapper, Row data); String forUpdateBatchById(String schema, String tableName, List rows); String forSelectOneById(String schema, String tableName, String[] primaryKeys, Object[] primaryValues); String forSelectByQuery(QueryWrapper queryWrapper); String buildSelectSql(QueryWrapper queryWrapper); String buildNoSelectSql(QueryWrapper queryWrapper); String buildDeleteSql(QueryWrapper queryWrapper); String buildWhereConditionSql(QueryWrapper queryWrapper); //////for entity ///// String forInsertEntity(TableInfo tableInfo, Object entity, boolean ignoreNulls); String forInsertEntityWithPk(TableInfo tableInfo, Object entity, boolean ignoreNulls); String forInsertEntityBatch(TableInfo tableInfo, Collection entities); String forDeleteEntityById(TableInfo tableInfo); String forDeleteEntityBatchByIds(TableInfo tableInfo, Object[] primaryValues); String forDeleteEntityBatchByQuery(TableInfo tableInfo, QueryWrapper queryWrapper); String forUpdateEntity(TableInfo tableInfo, Object entity, boolean ignoreNulls); String forUpdateEntityByQuery(TableInfo tableInfo, Object entity, boolean ignoreNulls, QueryWrapper queryWrapper); String forSelectOneEntityById(TableInfo tableInfo); String forSelectEntityListByIds(TableInfo tableInfo, Object[] primaryValues); /** * 权限处理 * * @param queryWrapper queryWrapper * @param operateType 操作类型 */ default void prepareAuth(QueryWrapper queryWrapper, OperateType operateType) { } /** * 权限处理 * * @param schema schema * @param tableName 表名 * @param sql sql * @param operateType 操作类型 */ default void prepareAuth(String schema, String tableName, StringBuilder sql, OperateType operateType) { } /** * 权限处理 * * @param tableInfo tableInfo * @param sql sql * @param operateType 操作类型 */ default void prepareAuth(TableInfo tableInfo, StringBuilder sql, OperateType operateType) { } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy