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

io.github.nichetoolkit.mybatis.provider.PostgresDeleteProvider Maven / Gradle / Ivy

There is a newer version: 1.1.1
Show newest version
package io.github.nichetoolkit.mybatis.provider;

import io.github.nichetoolkit.mybatis.MybatisSqlProvider;
import io.github.nichetoolkit.mybatis.enums.DatabaseType;
import io.github.nichetoolkit.mybatis.error.MybatisParamErrorException;
import io.github.nichetoolkit.rest.RestException;
import io.github.nichetoolkit.rest.util.OptionalUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.builder.annotation.ProviderContext;
import org.springframework.stereotype.Component;

import java.util.Collection;

/**
 * PostgresDeleteProvider
 * 

The postgres delete provider class.

* @author Cyan ([email protected]) * @see io.github.nichetoolkit.mybatis.MybatisSqlProvider * @see lombok.extern.slf4j.Slf4j * @see org.springframework.stereotype.Component * @since Jdk1.8 */ @Slf4j @Component public class PostgresDeleteProvider implements MybatisSqlProvider { @Override public DatabaseType databaseType() { return DatabaseType.POSTGRESQL; } /** * deleteById *

The delete by id method.

* @param {@link java.lang.Object}

The parameter can be of any type.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param id I

The id parameter is I type.

* @return {@link java.lang.String}

The delete by id return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.lang.String * @see io.github.nichetoolkit.rest.RestException */ public static String deleteById(ProviderContext providerContext, I id) throws RestException { return deleteDynamicById(providerContext, null, id); } /** * deleteDynamicById *

The delete dynamic by id method.

* @param {@link java.lang.Object}

The parameter can be of any type.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param tablename {@link java.lang.String}

The tablename parameter is String type.

* @param id I

The id parameter is I type.

* @return {@link java.lang.String}

The delete dynamic by id return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.lang.String * @see io.github.nichetoolkit.rest.RestException */ public static String deleteDynamicById(ProviderContext providerContext, String tablename, I id) throws RestException { OptionalUtils.ofEmpty(id, "The id param of 'deleteById' method cannot be empty!", message -> new MybatisParamErrorException("deleteById", "id", message)); return MybatisSqlProvider.providingOfId(providerContext, tablename, id, table -> { }, DELETE_SQL_SUPPLY); } /** * deleteAll *

The delete all method.

* @param {@link java.lang.Object}

The parameter can be of any type.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param idList {@link java.util.Collection}

The id list parameter is Collection type.

* @return {@link java.lang.String}

The delete all return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.util.Collection * @see java.lang.String * @see io.github.nichetoolkit.rest.RestException */ public static String deleteAll(ProviderContext providerContext, Collection idList) throws RestException { return deleteDynamicAll(providerContext, null, idList); } /** * deleteDynamicAll *

The delete dynamic all method.

* @param {@link java.lang.Object}

The parameter can be of any type.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param tablename {@link java.lang.String}

The tablename parameter is String type.

* @param idList {@link java.util.Collection}

The id list parameter is Collection type.

* @return {@link java.lang.String}

The delete dynamic all return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.lang.String * @see java.util.Collection * @see io.github.nichetoolkit.rest.RestException */ public static String deleteDynamicAll(ProviderContext providerContext, String tablename, Collection idList) throws RestException { OptionalUtils.ofEmpty(idList, "The id list param of 'deleteByAll' method cannot be empty!", message -> new MybatisParamErrorException("deleteByAll", "idList", message)); return MybatisSqlProvider.providingOfAll(providerContext, tablename, idList, table -> { }, DELETE_SQL_SUPPLY); } /** * deleteAllByWhere *

The delete all by where method.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param whereSql {@link java.lang.String}

The where sql parameter is String type.

* @return {@link java.lang.String}

The delete all by where return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.lang.String * @see io.github.nichetoolkit.rest.RestException */ public static String deleteAllByWhere(ProviderContext providerContext, String whereSql) throws RestException { return deleteDynamicAllByWhere(providerContext, null, whereSql); } /** * deleteDynamicAllByWhere *

The delete dynamic all by where method.

* @param providerContext {@link org.apache.ibatis.builder.annotation.ProviderContext}

The provider context parameter is ProviderContext type.

* @param tablename {@link java.lang.String}

The tablename parameter is String type.

* @param whereSql {@link java.lang.String}

The where sql parameter is String type.

* @return {@link java.lang.String}

The delete dynamic all by where return object is String type.

* @throws RestException {@link io.github.nichetoolkit.rest.RestException}

The rest exception is RestException type.

* @see org.apache.ibatis.builder.annotation.ProviderContext * @see java.lang.String * @see io.github.nichetoolkit.rest.RestException */ public static String deleteDynamicAllByWhere(ProviderContext providerContext, String tablename, String whereSql) throws RestException { OptionalUtils.ofEmpty(whereSql, "The where sql param of 'deleteAllByWhere' method cannot be empty!", message -> new MybatisParamErrorException("deleteAllByWhere", "whereSql", message)); return MybatisSqlProvider.providingOfWhere(providerContext, tablename, whereSql, table -> { }, DELETE_SQL_SUPPLY); } }