Skip to content

ResultSet

Jdbc 中通过 ResultSet 读取数据的过程中数据是在线的,说它在线是因为它是游标,通过游标可以读取数据。 当前java的主要开发场景是 web 环境,在线读取数据的方式在 web 环境中显然是不使用和不需要的,所以summer-data提供了两种数据读取方式。 目前只提供离线读取数据的API,未来版本中会提供在线读取数据的API。

数据抽取器和映射函数

抽取器负责读取每一条数据,注意只是读到并不真的去读内容。 映射函数负责真的去读每一条数据,并转换成指定类型的java对象。

抽取器和映射函数都是可扩展的,用户可以自定义抽取器和映射函数。当前的版本主要针对 web 场景实现的抽取器和映射函数,未来会实现基于 ETL 场景的抽取器和映射函数,主要的区别是一个离线一个在线

数据类型

summer-data在执行查询时能返回2种结构的数据Map<String, Object>Object

数据绑定

返回Map类型数据,Map的key值由查询字段名决定。 返回Object类型数据,summer-data 会根据 Object 类型中各属性名从 jdbc 结果集中匹配对应的字段进行绑定。如果属性名与字段名不完全相同,可以通过在属性上添加@ColumnTag注解进行绑定。

数据分页

首先明确一个观点,查询数据究竟分不分页是在开发阶段就确定的,所以返回结果集类型要明确指出。 summer-data提供pageFor***的API专门用于分页查询,同时summer-data提供了专门的类型用于存储分页数据。MapPage存放Map类型的分页数据,ObjectPage存放Object类型的分页数据,它们都是Page<T>的子类。