Skip to content

Feature Request : Generics support in javaClientGenerator rootInterface #1346

@iw-pavan

Description

@iw-pavan

I've implemented BaseMapper interface which is part of my BaseDao class which handles all common queries for my dao.
I am able to generate client with this as super class, however it would be useful if we have generic type support for "rootInterface"

<javaClientGenerator targetProject="src/main/java">
            <property name="rootInterface"/>
</javaClientGenerator>

BaseMapper

public interface BaseMapper<T extends Entity>
    extends CommonCountMapper, CommonDeleteMapper, CommonInsertMapper<T>,
    CommonUpdateMapper {

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  List<T> selectMany(SelectStatementProvider selectStatement);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  Optional<T> selectOne(SelectStatementProvider selectStatement);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  long count(CountDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int delete(DeleteDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int deleteByPrimaryKey(String id);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int insert(T row);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int insertMultiple(Collection<T> records);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int insertSelective(T row);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  Optional<T> selectOne(SelectDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  List<T> select(SelectDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  List<T> selectDistinct(SelectDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  Optional<T> selectByPrimaryKey(String id);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int update(UpdateDSLCompleter completer);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int updateByPrimaryKey(T row);

  @Generated("org.mybatis.generator.api.MyBatisGenerator")
  int updateByPrimaryKeySelective(T row);

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions