提交 31c6caf2 authored 作者: yangdongming's avatar yangdongming

--no commit message

上级 cd4c09e6
...@@ -67,10 +67,61 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas ...@@ -67,10 +67,61 @@ public abstract class BaseServiceImpl<M, ID extends Serializable> implements Bas
} }
} }
} }
@SuppressWarnings("unchecked")
public Example createExample(){ public Example createExample(){
return new Example(entityClass); if(entityClass == null){
/**
* 为泛型指定具体实体对象
* @Method getClass() 运行时类 ---api
* @Method getGenericSuperclass() 取得支持泛型的父类
* @Method getActualTypeArguments()[0] 取得父类真正对应的参数,即实体对象
*/
Type paramType = getClass().getGenericSuperclass();
if(paramType instanceof ParameterizedType){
ParameterizedType pty = (ParameterizedType)paramType;
this.entityClass = (Class<M>)pty.getActualTypeArguments()[0];
}
}
return createExample(entityClass);
}
public Example createExample(Class entityClass){
example = new Example(entityClass);
return example;
}
public Criteria createCriteria() {
createExample();
return example.createCriteria();
}
public Criteria createCriteria(Class entityClass) {
createExample(entityClass);
return example.createCriteria();
}
@Override
public boolean deleteByCriteria() {
return getMapper().deleteByExample(example)>0;
}
@Override
public boolean updateByCriteria(M record) {
return getMapper().updateByExample(record, example)>0;
}
@Override
public boolean updateByCriteriaSelective(M record) {
return getMapper().updateByExampleSelective(record, example)>0;
}
@Override
public List<M> selectByCriteria() {
return getMapper().selectByExample(example);
}
@Override
public List<M> selectByCriteriaAndRowBounds(RowBounds rowBounds) {
return getMapper().selectByExampleAndRowBounds(example, rowBounds);
}
@Override
public PageInfo<M> queryCriteria(PageParam pageParam) {
startPage(pageParam);
List<M> list = selectByCriteria();
return new PageInfo<M>(list);
} }
/** /**
* 开启分页 * 开启分页
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论