-
Notifications
You must be signed in to change notification settings - Fork 448
Java客户端 帮助类说明
这里主要介绍了一些开发过程中可能会用到的帮助类。大部分是针对Dla框架里面用到的接口的实现。位于package: com.ctrip.platform.dal.dao.helper。
Code Gen生成的代码会直接或间接的用到这里的部分类。还有一部分没用到的类在使用恰当的情况下可以满足特殊需求。
帮助类按照DalRowMapper实现类,DalParser实现类,ResultMerger实现类和其他帮助类来分别说明。
实现DalRowMapper接口,在遍历查询结果集的时候把每一行返回为一个Map。在希望快速验证查询结果,又不想通过code gen生成正式的Entity class的时候很有用。
与DalColumnMapRowMapper类似,唯一的不同是DalColumnMapRowMapper会自己找到所有列名,而这个类可以指定列名。两者用处也类似。对于不希望将返回的所有列都转化为Map里面的entry的时候可以选择。
提供一个静态方法将ResultSet里面指定的column转化为Integer类型。指定的cloumn可以为null,或者字符串,或者任意数字类型。对自定义DalRowMapper来处理定义的不规范的列时有用处。
返回结果集里面的第一个列的值。但如果希望返回short类型,必须使用ShortRowMapper,因为缺省的getObject针对short类型的列有可能返回Integer。
返回结果集中的short值的mapper
忽略结果集里面的实际内容,只返回给定值的mapper实现。
缺省的基于JPA的DalRowMapper实现,通过parse一个entity的注解来判断如何从结果集做ORM。
部分实现DalParser接口的抽象类,提供一般情况下不变的数据部分的访问。为进一步实现数据库ORM行为提供一个可扩展的基类。
扩展与AbstractDalParser,缺省的基于JPA的parser实现,通过parse一个entity的注解来判断如何从结果集做ORM。
从多个shard的结果集里面,排序后返回第一个。可以提供Comparator来决定排序方式。
返回多个shard结果集的并集,可以提供Comparator来决定排序方式。
返回多个shard结果集的并集的其中一段数据,可以提供Comparator来决定排序方式。
合并多个shard结果集,检查是否最终只有一个结果,如果不是则报错。
配合MultipleSqlBuilder使用的,合并每个shard上的批量查询结果。
使用DalRowCallback的DalResultSetExtractor实现。
使用DalRowMapper的DalResultSetExtractor实现。
实现scalar访问方式的DalResultSetExtractor实现。返回结果集第一行第一列的值。这是C#的一种访问方式,借鉴到Java里面。
返回结果集中第一行数据的DalResultSetExtractor实现。可以指定是否需要保证唯一性,如果指定唯一性,当结果集多于1行的时候会报错。
最关键的分库分表的帮助类。提供了分库分表所需要的帮助方法,被大量调用。
缺省的异步调用接口实现。提供了获取结果,查询状态和出错处理等等功能。
实现对符合JPA规范的Entity进行解析方面工作的帮助类。可以提供用来构造mapper和parser所需要的meta data
提供一些简单的帮助方法。没什么用,未来会简化或去掉。
配合web环境使用的servelet listener。支持数据库初始化和预热选项。集成文档里面有具体说明。
日志处理相关的帮助类。如果希望自己提供logger实现,可以考虑使用里面的相关方法来简化开发