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

org.beetl.sql.mapper.builder.MapperConfigBuilder Maven / Gradle / Ivy

The newest version!
package org.beetl.sql.mapper.builder;

import org.beetl.sql.mapper.MapperInvoke;

import java.lang.reflect.Method;

public interface MapperConfigBuilder {
	/**
	 * 获取接口方法对应的{@link MapperInvoke}实现
	 *
	 * @param entity 继承{@code BaseMapper<T>} 接口时给定的泛型T实体类型
	 * @param mapperClass BaseMapper接口或者继承BaseMapper的接口
	 * @param method 调用的接口方法
	 * @return {@link MapperInvoke}
	 */
	MapperInvoke getAmi(Class entity, Class mapperClass, Method method);

	default  MapperInvoke getInheritAmi(Class entity, Class mapperClass, Method method){
		//兼容以前对MapperConfigBuilder扩展的,尽管这个扩展在遇到@InheritMapper时候,会有问题,see "https://gitee.com/xiandafu/beetlsql/issues/I6B7AN"
		return getAmi(entity,mapperClass,method);
	}

	/**
	 * 从实现BaseMapper的接口的所有方法中找@AutoMapper注解指定的MapperInvoke实现并添加
	 *
	 * @param c BaseMapper接口或者继承BaseMapper的接口
	 */
	void addMapperClass(Class c);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy