# 动态实体与mapper

正常情况下,实体与其Mapper由程序扫描BaseMapper获得(即生成代理类并由Spring Bean容器托管)

如果需要动态创建Mapper,可以通过MiluConfiguration实例的Class<? extends BaseMapper<?, ?>> dynamicAddMapperForEntity(VEntity ventity)进行动态创建。

# 动态创建Mapper

Class<? extends BaseMapper<?, ?>> dynamicAddMapperForEntity(VEntity ventity);

VEntity是需要创建Mapper的实体信息,详情可看源码注释。

动态添加Mapper是返回的对应的Mapper类,获取Mapper实例,可以通过MiluConfiguration的方法

BaseMapper getMapper(Class<T> type, SqlSession sqlSession);

// 需要先为MiluConfiguration设置defaultSqlSession
BaseMapper getMapper(Class<T> type);

# 卸载Mapper

如果实体字段发生变化,在重新生成Mapper前,将旧的Mapper进行卸载,减少无用信息。

void dropDynamicAddMapper(Class<? extends BaseMapper> clazz)