单个Mapper模式 
什么是单个Mapper模式? 以往我们都是一个实体类对应一个Mapper,这样有的人会反感;现在支持了单个Mapper模式,意味着你可以一个Mapper 到处使用!!!
1.如何使用单个Mapper ? 
写一个接口继承BasicMapper
java
public interface MybatisBasicMapper extends BasicMapper {
}spring 实例化MyBasicMapper
java
@MapperScan(basePackageClasses = MybatisBasicMapper.class, markerInterface = BasicMapper.class)solon 实例化 MyBasicMapper
yaml
mybatis.master:
  mappers:       #支持包名 或 类名(大写开头 或 *)或 xml(.xml结尾);支持目录 ** 或 * 占位符
    - "xxx.MyBasicMapper"启动时,设置单Mapper的类
java
XbatisGlobalConfig.setSingleMapperClass(MybatisBasicMapper.class);2.Dao实现类 由DaoImpl 改成 BasicDaoImpl(没有Dao层,这个忽略) 
java
@Repository
public class SysRoleDaoImpl extends BasicDaoImpl<SysRole, Integer> implements SysRoleDao {
    @Autowired
    public SysRoleDaoImpl(MybatisBasicMapper mybatisBasicMapper) {
        super(mybatisBasicMapper);
    }
    @Override
    protected MybatisBasicMapper getMapper() {
        return (MybatisBasicMapper) this.mapper;
    }
}3.开始使用 
3.1有dao的和原来没太多区别 
@Autowired
private AppVersionDao appVersionDao;3.2 mapper 使用 看下面 
4 mapper 使用 
4.1 自动注入 
@Autowired
private MybatisBasicMapper mybatisBasicMapper;4.2 使用 
mybatisBasicMapper.save(T);
mybatisBasicMapper.update(T);部分需要实体类的例如 deleteById getById的
mybatisBasicMapper.deleteById(AppVersion.class,1);
mybatisBasicMapper.getById的(AppVersion.class,1);4.3 QueryChain怎么使用basicMapper? 
不仅仅QueryChain,其他XXChain 也是一样的
QueryChain.of(mybatisBasicMapper, AppVersion .class).eq(AppVersion::getId,1);4.4 如果sq太复杂 我需要在xml里写,怎么处理 
xml
<mapper namespace="xxx.MybatisBasicMapper">
    <select id="SysRole:selectByIds" resultType="com.xbatis.core.test.DO.SysRole">
        select *
        from sys_role
        where id >= #{id}
          and id <= #{id2}
        order by id asc
    </select>
</mapper>java
//注意 你的xml ID应该为 SysRole:selectByIds 参数可以是Map或者对象 都可以
List<SysRole> roleList=mybatisBasicMapper.withSqlSession(SysRole.class, "selectByIds", new HashMap() {{
    put("id", 1);
    put("id2", 2);
}}, (statement, params, sqlSession) -> {
    return sqlSession.selectList(statement, params);
});5: 代码生成器怎么弄? 
mapperConfig 这里 enable 设置为 false 即可;
.mapperConfig(mapperConfig -> {mapperConfig.enable(false).superClass(MybatisBasicMapper.class);})注意 需要代码生成器
1.0.6版本 才支持
