打印本文 打印本文 关闭窗口 关闭窗口
在java中实现sql的select函数功能
作者:武汉SEO闵涛  文章来源:敏韬网  点击数7732  更新时间:2007/11/14 12:57:01  文章录入:mintao  责任编辑:mintao
Condition对象数组;和一个OrderInstruction对象数组。然后把SelectStatement对象传入Excuter对象,在那里执行这个statement并返回一个ResultTable

接下来的问题是,SelectInstructionConditionOrderInstructionResultTable,这些类都是做什么的?我们为什么需要他们?首先,不要一下全看他们,这可能会使你迷惑。一个一个的看,每一个类都是易于理解和使用的。

每一个SelectInstruction代表你希望在结果集中出现的一个列(或者对象的一个属性)。你为他定义一个名字和Invoker。名字将作为列标题出现,Invoker将在集合中的每一个对象上触发。在某个对象上触发后,Invoker在对应列中返回该对象的对应属性。这项函数功能组成了select子句,在这个子句中,可以定义显示的属性,并用as定义列名(如select speed as Max_speed)。注意:你也可以只有一个SelectInstruction,其中的列名串为*。在这种情况下,类中的所有getter()方法都被invoker包覆,其结果都出现在ResultSet中。

每一个Condition代表一个条件,源数据集合中每一个对象都需满足此条件。这个类对应于where子句,通过它可以通过给定的条件排除任意数目的行。注意:如果想要显示全部对象,只需传入空的Condintion[]即可。

每一个OrderInstruction代表一个怎样排序数据的规则,它由一个Invoker和一个Comparator组成。Invokerinvoke(Object o)方法(作用于对象集合中的一个对象时)会返回一个结果,并于作用于集合中其他对象返回的结果进行比较,从而决定结果数据的排序位置。Comparator(如果实现了)比较两个对象在invoke作用下返回的结果。如果comparator没有实现,结果将基于它们各自的compareTo(Object o)方法(假定他们都实现了java.lang,Comparatable)进行比较。

数组中的OrderInstruction之间的顺序也非常重要:OrderInstruction对象在数组中出现的越早,它的优先级就越高。这就是说,可以通过应用第一各OrderInstr

上一页  [1] [2] [3] [4] [5] [6] [7] [8]  下一页

打印本文 打印本文 关闭窗口 关闭窗口