BaseEntity
2019-08-08 17:17:53 0 举报
AI智能生成
Spring团构总结
作者其他创作
大纲/内容
BaseMybatisDAO
BaseEntity
abstract修饰并实现序列化接口,但并无abstract方法。abstract修饰该类的原因应该是防止该类被实例化。
field
long id
String routerCall
method
public static <T extends BaseEntity> List<Long> idList(List<T> entities)
获取给定实体集合的ID集合
entities.stream().map(entity -> entity.getId())
.collect(Collectors.toList());
.collect(Collectors.toList());
entities.stream().collect(Collectors.toMap(T::getId, entity -> entity));
public static <T extends BaseEntity> Map<Long, T> idEntityMap(List<T> entities)
将给定的实体集合转换成为实体ID为Key,实体为Value的Map
public String toString()
返回属性名称及值,格式:[name]张三 [sex]男
this.getClass()是个native方法,在Object里定义,被@Contract(pure=true)修饰,这个注解不懂,待研究
Class.getDeclaredField()返回当前类声明的field,不包含父类的
Class.getMethod(MethodName)
method.invoke(this)
SecurityException,什么时候会导致,待研究
intellij中ctl+h可以查看到这个类是很多业务DAO的父类
Search
implements Serializble
field
int page default 1
int rows default 20
method
public int getFirstRowNum()
得到当前页第一行数据的行号,从0开始编号
Condition
field
String name
Object value
RowBounds
顾名思义,定义分页的起始和行数,起始从0计
method
public RowBounds(int offset, int limit)
field
int offset
int limit
method
public <T extends BaseEntity> PagingResult<T> findForPage(String countSqlId, String sqlId, Search search)
RowBounds rowBounds = new RowBounds(search.getFirstRowNum(), search.getRows());
提供查询起始行号及行数,行号从0计
List<T> list = template.selectList(sqlId, getConditionMap(search), rowBounds);
虽然search也可以提供RowBounds功能,但是这里是使用search的条件容器功能
return new PagingResult<>(count(countSqlId, search), list, search.getPage(), search.getRows());
count()用来查询满足search所含的查询参数的总数
public <T extends BaseEntity> PagingResult<T> findForPageWithoutTotal(String sqlId, Search search)
与第一个findForPage的区别是不查询总数
public <T extends BaseEntity> PagingResult<T> findForPage(String countSqlId, String sqlId, int page, int rows, Map<String, Object> params)
与第一个findForPage的区别是将Search提供的行号行数及查询条件分拆为三个单独的参数
public <T extends BaseEntity> PagingResult<T> findForPageWithoutTotal(String sqlId, int page, int rows, Map<String, Object> params)
field
SqlSessionTemplate
method
public <E> List<E> selectList(String statement, Object parameter, RowBounds rowBounds)
parameter为List, Array,或其他,这里为Map。作用是提供查询语句所需要的参数
收藏
收藏
0 条评论
下一页
为你推荐
查看更多
抱歉,暂无相关内容