org.tenio.interstellar.dao.mybatis.DataObjectDaoMapper Maven / Gradle / Ivy
package org.tenio.interstellar.dao.mybatis;
import org.apache.ibatis.annotations.DeleteProvider;
import org.apache.ibatis.annotations.InsertProvider;
import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.UpdateProvider;
import org.tenio.interstellar.context.DataArray;
import org.tenio.interstellar.context.DataObject;
import org.tenio.interstellar.dao.Dao;
import java.util.List;
/**
* TODO
*
* @author: Ban Tenio
* @version: 1.0
*
* @param TODO
*/
public interface DataObjectDaoMapper extends Dao {
@InsertProvider(DataObjectProviderMethodResolver.class)
void save(DataObject data);
@InsertProvider(DataObjectProviderMethodResolver.class)
void saveAll(DataArray datas);
@SelectProvider(DataObjectProviderMethodResolver.class)
DataObject one(DataObject condition);
@SelectProvider(DataObjectProviderMethodResolver.class)
DataObject oneWithFields(DataObject condition, DataObject fields);
@SelectProvider(DataObjectProviderMethodResolver.class)
DataObject byId(Object id);
@SelectProvider(DataObjectProviderMethodResolver.class)
DataObject byIdWithFields(Object id, DataObject fields);
@SelectProvider(DataObjectProviderMethodResolver.class)
List inIdsWithList(List> ids);
@SelectProvider(DataObjectProviderMethodResolver.class)
List inIdsWithDataArray(DataArray ids);
@SelectProvider(DataObjectProviderMethodResolver.class)
List inIdsWithListSort(List> ids, DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
List inIdsWithDataArraySort(DataArray ids, DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
List all();
@SelectProvider(DataObjectProviderMethodResolver.class)
List allWithSort(DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
List find(DataObject condition);
@SelectProvider(DataObjectProviderMethodResolver.class)
List findWithSort(DataObject condition, DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
List findWithPage(DataObject condition, int current, int size);
@SelectProvider(DataObjectProviderMethodResolver.class)
List findWithPageSort(DataObject condition, int current, int size, DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
List findScroll(DataObject condition, int startIndex, int size, DataObject sort);
@SelectProvider(DataObjectProviderMethodResolver.class)
Long count(DataObject conditionFields);
@UpdateProvider(DataObjectProviderMethodResolver.class)
void update(DataObject condition, DataObject setFields);
@Override
default void upsert(DataObject condition, DataObject setFields) {
throw new UnsupportedOperationException();
}
@Override
default void upsertAll(DataArray datas) {
throw new UnsupportedOperationException();
}
/**
* TODO
*
* @param entity TODO
*/
@UpdateProvider(DataObjectProviderMethodResolver.class)
void updateByEntityId(DataObject entity);
@UpdateProvider(DataObjectProviderMethodResolver.class)
void updateById(Object id, DataObject entity);
@DeleteProvider(DataObjectProviderMethodResolver.class)
void remove(DataObject condition);
/**
* TODO
*
* @param entity TODO
*/
@DeleteProvider(DataObjectProviderMethodResolver.class)
void removeByEntityId(DataObject entity);
@DeleteProvider(DataObjectProviderMethodResolver.class)
void removeById(Object id);
@DeleteProvider(DataObjectProviderMethodResolver.class)
void removeByIds(DataArray ids);
@Override
default void updateById(DataObject entity) {
updateByEntityId(entity);
}
@Override
default void removeById(DataObject entity) {
removeByEntityId(entity);
}
@Override
default List aggregateScroll(int startIndex, int size, DataObject sort, DataArray aggregates) {
throw new UnsupportedOperationException();
}
@Override
default Long aggregateToCount(DataArray aggregates) {
throw new UnsupportedOperationException();
}
@Override
default List aggregate(DataArray aggregates) {
throw new UnsupportedOperationException();
}
}