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

cn.org.atool.fluent.mybatis.base.mapper.IWrapperMapper Maven / Gradle / Ivy

package cn.org.atool.fluent.mybatis.base.mapper;

import cn.org.atool.fluent.mybatis.annotation.FluentMybatis;
import cn.org.atool.fluent.mybatis.base.IEntity;
import cn.org.atool.fluent.mybatis.base.crud.*;
import cn.org.atool.fluent.mybatis.base.model.FieldMapping;

/**
 * 以下方法在EntityMapper中实现接口default方法
 *
 * @param 
 */
public interface IWrapperMapper {
    /**
     * 构造设置了默认条件的Query
     * 默认条件设置{@link FluentMybatis#defaults()}, 具体定义继承 {@link IDefaultSetter#setQueryDefault(IQuery)}
     *
     * @return ignore
     */
    > Q defaultQuery();

    /**
     * 构造设置了默认条件的Updater
     * 默认条件设置{@link FluentMybatis#defaults()}, 具体定义继承 {@link IDefaultSetter#setUpdateDefault(IUpdate)}
     *
     * @return ignore
     */
    > U defaultUpdater();

    /**
     * 构造空查询条件
     *
     * @return ignore
     */
    > Q query();

    /**
     * 构造空更新条件
     *
     * @return ignore
     */
    > U updater();

    /**
     * 主键字段名称
     *
     * @return ignore
     */
    FieldMapping primaryField();

    /**
     * 对应的entity class类
     *
     * @return ignore
     */
    Class entityClass();
}