概念
查询对象是一个解释器,由多个对象组成,该结构可以自身转化为一个SQL查询。可以利用类和域,而不是表和列来创建一个查询。
描述一次数据库查询的对象。
运行机制
- 查询对象是解释器模式在表示SQL查询上的应用,主要作用是使客户可以构造各种类型的查询,并把这些对象结构转换成适当的SQL语句。
- 多数应用的SQL语句比较简单,因此查询对象也比较简单。
- 当需要更多的SQL功能时,可以增加改进一个起初创建的查询对象。
- 利用对象和域名而不是表和列名来构造查询。
- 查询对象需要用到元数据映射。
- 利用运行过的相同的查询,从标识映射中选择对象,或者补充先前的查询对象,减少对数据库的访问。
使用时机
- 如果有现成的数据源层,则一般不用查询对象。
- 只有在使用领域模型和数据映射器时,才会使用查询对象。
- 构造能满足需求的最小的查询对象。
示例-简单的查询对象(java)
Step1 创建查询对象和条件对象
Step2 创建领域对象
Step3 在元映射器中定义查找对象