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

org.zodiac.mybatisplus.binding.Binder Maven / Gradle / Ivy

There is a newer version: 1.6.8
Show newest version
package org.zodiac.mybatisplus.binding;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;

import java.util.List;

import org.zodiac.mybatisplus.model.MyBatisPlusPagination;

/**
 * 绑定器统一调用入口类。
 * 
 */
public class Binder {

    private Binder() {
        super();
    }

    /**
     * 关联查询一条主表数据。
     * 
     * @param  DTO类型
     * @param  实体类型
     * @param queryWrapper 查询条件
     * @param entityClazz 返回结果entity/vo类
     * @return 结果
     */
    public static  T joinQueryOne(QueryWrapper queryWrapper, Class entityClazz) {
        return JoinsBinder.queryOne(queryWrapper, entityClazz);
    }

    /**
     * 关联查询符合条件的全部主表数据集合(不分页)。
     * 
     * @param  DTO类型
     * @param  实体类型
     * @param queryWrapper 调用QueryBuilder.to*QueryWrapper得到的实例
     * @param entityClazz 返回结果entity/vo类
     * @return 结果
     */
    public static  List joinQueryList(QueryWrapper queryWrapper, Class entityClazz) {
        return JoinsBinder.queryList(queryWrapper, entityClazz);
    }

    /**
     * 关联查询符合条件的指定页数据(分页)。
     * 
     * @param  DTO类型
     * @param  实体类型
     * @param queryWrapper 调用QueryBuilder.to*QueryWrapper得到的实例
     * @param entityClazz 返回结果entity/vo类
     * @param myBatisPlusPagination 分页
     * @return 实体列表
     */
    public static  List joinQueryList(QueryWrapper queryWrapper, Class entityClazz,
        MyBatisPlusPagination myBatisPlusPagination) {
        return JoinsBinder.queryList(queryWrapper, entityClazz, myBatisPlusPagination);
    }

    /**
     * 自动转换和绑定单个VO中的注解关联(禁止循环调用,多个对象请调用convertAndBind(voList, voClass))。
     * 
     * @param  实体类型
     * @param  VO类型
     * @param entity 需要转换的对象
     * @param voClass 需要转换的VO class
     * @return VO对象
     */
    public static  VO convertAndBindRelations(T entity, Class voClass) {
        return RelationsBinder.convertAndBind(entity, voClass);
    }

    /**
     * 自动转换和绑定多个VO中的注解关联。
     * 
     * @param  实体类型
     * @param  VO类型
     * @param entityList 需要转换的对象列表
     * @param voClass VO class
     * @return VO对象列表
     */
    public static  List convertAndBindRelations(List entityList, Class voClass) {
        return RelationsBinder.convertAndBind(entityList, voClass);
    }

    /**
     * 自动绑定单个VO的关联对象(禁止循环调用,多个对象请调用bind(voList))。
     * 
     * @param  VO类型
     * @param vo 需要注解绑定的对象
     */
    public static  void bindRelations(VO vo) {
        RelationsBinder.bind(vo);
    }

    /**
     * 自动绑定多个VO集合的关联对象。
     * 
     * @param  VO类型
     * @param voList 需要注解绑定的对象集合
     */
    public static  void bindRelations(List voList) {
        RelationsBinder.bind(voList);
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy