📄 dbselector.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc on Wed Jan 15 11:28:13 CET 2003 --><TITLE>DbSelector</TITLE><META NAME="keywords" CONTENT="javatools.db.DbSelector,DbSelector class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"></HEAD><SCRIPT>function asd(){parent.document.title="DbSelector";}</SCRIPT><BODY BGCOLOR="white" onload="asd();"><!-- ========== START OF NAVBAR ========== --><A NAME="navbar_top"><!-- --></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0"><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3"> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../javatools/db/DbRowSet.html"><B>PREV CLASS</B></A> <A HREF="../../javatools/db/DbSequence.html"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../index.html" TARGET="_top"><B>FRAMES</B></A> <A HREF="DbSelector.html" TARGET="_top"><B>NO FRAMES</B></A> <SCRIPT> <!-- if(window==top) { document.writeln('<A HREF="../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT><A HREF="../../allclasses-noframe.html" TARGET=""><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><!-- =========== END OF NAVBAR =========== --><HR><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">javatools.db</FONT><BR>Class DbSelector</H2><PRE>java.lang.Object | +--<A HREF="../../javatools/db/DbExpr.html">javatools.db.DbExpr</A> | +--<B>javatools.db.DbSelector</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../javatools/db/DbTableUser.html">DbTableUser</A></DD></DL><HR><DL><DT>public class <B>DbSelector</B><DT>extends <A HREF="../../javatools/db/DbExpr.html">DbExpr</A></DL><P>A class used to select tabular data from an SQL database. The constructor is not public. To obtain a DbSelector call DbDatabase.selector(); Example: To select FRED's record from the people table... <PRE> DbDatabase db = ...; DbTable people = db.getTable("PEOPLE"); DbSelector selector = db.selector(); selector.addColumn(people.getColumn("NAME")); selector.addColumn(people.getColumn("AGE")); selector.setWhere(people.getColumn("NAME").equal("FRED")); DbTable result = selector.execute(); DbIterator it = result.iterator(); while (it.hasNextRow()) { DbRow row = it.nextRow(); System.out.println(row.getValue("NAME") + " " + row.getValue("AGE")); } </PRE> This is equivilent to... <PRE> SELECT NAME, AGE FROM PEOPLE WHERE PEOPLE.NAME='FRED'; </PRE> To get more fancy we can join the people table with the team table to find the captain of the person's favourite team. Then we can also order by the person's name, while igoring upper/lower case distinctions... <PRE> DbDatabase db = ...; DbSelector selector = db.selector(); DbTable people = db.getTable("PEOPLE"); DbTable team = db.getTable("TEAM"); DbSelector selector = db.selector(); selector.addColumn(people.getColumn("NAME")); selector.addColumn(team.getColumn("CAPTAIN")); selector.setWhere(team.getColumn("NAME").equal(people.getColumn("FAVOURITE_TEAM")); selector.addOrderBy(people.getColumn("NAME").lower(), false) // Order by NAME ignoring case. DbTable result = selector.execute(); DbIterator it = result.iterator(); while (it.hasNextRow()) { DbRow row = it.nextRow(); System.out.println(row.getValue("NAME") + " " + row.getValue("CAPTAIN")); } </PRE> This is equivilent to... <PRE> SELECT PEOPLE.NAME, TEAM.CAPTAIN FROM PEOPLE, TEAM WHERE TEAM.NAME = PEOPLE.FAVOURITE_TEAM ORDER BY LOWER(PEOPLE.NAME) </PRE> To get fancier still, we can make use of sub-selects. To find all the people who happen to be captains of teams... <PRE> DbDatabase db = ...; DbTable people = db.getTable("PEOPLE"); DbTable team = db.getTable("TEAM"); DbSelector subselector = db.selector(); subselector.addColumn(team.getColumn("CAPTAIN")); DbSelector selector = db.selector(); selector.addAll(people); selector.setWhere(people.getColumn("NAME").in(subselector)); DbTable result = selector.execute(); DbIterator it = result.iterator(); while (it.hasNextRow()) { DbRow row = it.nextRow(); System.out.println(row.toString()); } </PRE> This is equivilent to... <PRE> SELECT * from PEOPLE WHERE PEOPLE.NAME IN (SELECT CAPTAIN FROM TEAM);<P><P><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><!-- =========== FIELD SUMMARY =========== --><!-- ======== CONSTRUCTOR SUMMARY ======== --><!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%"><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TD COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addAll(javatools.db.DbAbstractTable)">addAll</A></B>(<A HREF="../../javatools/db/DbAbstractTable.html">DbAbstractTable</A> table)</CODE><BR> Add all the columns from the given table to the select list. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addAllExcept(javatools.db.DbAbstractTable, javatools.db.DbColumn)">addAllExcept</A></B>(<A HREF="../../javatools/db/DbAbstractTable.html">DbAbstractTable</A> table, <A HREF="../../javatools/db/DbColumn.html">DbColumn</A> o)</CODE><BR> Add all the columns from the given table to the select list. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addAllExcept(javatools.db.DbAbstractTable, java.util.Set)">addAllExcept</A></B>(<A HREF="../../javatools/db/DbAbstractTable.html">DbAbstractTable</A> table, java.util.Set set)</CODE><BR> Add all the columns from the given table to the select list. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javatools/db/DbColumn.html">DbColumn</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addColumn(java.lang.Object)">addColumn</A></B>(java.lang.Object col)</CODE><BR> Add the given object to the select column list.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javatools/db/DbColumn.html">DbColumn</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addColumn(java.lang.Object, java.lang.String)">addColumn</A></B>(java.lang.Object col, java.lang.String as)</CODE><BR> Add the given object to the select column list with an "AS" alias.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addGroupBy(javatools.db.DbExpr)">addGroupBy</A></B>(<A HREF="../../javatools/db/DbExpr.html">DbExpr</A> column)</CODE><BR> Adds a GROUP BY column to this select.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addJoinedTable(javatools.db.DbJoinedTable)">addJoinedTable</A></B>(<A HREF="../../javatools/db/DbJoinedTable.html">DbJoinedTable</A> joinedTable)</CODE><BR> Adds a joined table.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#addOrderBy(javatools.db.DbExpr, boolean)">addOrderBy</A></B>(<A HREF="../../javatools/db/DbExpr.html">DbExpr</A> column, boolean desc)</CODE><BR> Add an ORDER BY clause to this select. </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javatools/db/DbTable.html">DbTable</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#execute()">execute</A></B>()</CODE><BR> Execute and return a DbTable with the default DbConnection.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javatools/db/DbTable.html">DbTable</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#execute(javatools.db.DbConnection)">execute</A></B>(<A HREF="../../javatools/db/DbConnection.html">DbConnection</A> dbcon)</CODE><BR> Execute and return a DbTable.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#executeToResultSet(javatools.db.DbConnection)">executeToResultSet</A></B>(<A HREF="../../javatools/db/DbConnection.html">DbConnection</A> dbcon)</CODE><BR> Execute and get a JDBC ResultSet.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> <A HREF="../../javatools/db/DbColumn.html">DbColumn</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../javatools/db/DbSelector.html#getColumn(int)">getColumn</A></B>(int index)</CODE>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -