Author: jgbutler
Date: Wed Apr 28 16:41:34 2010
New Revision: 939007
URL: http://svn.apache.org/viewvc?rev=939007&view=rev
Log:
Add support for DISTINCT in SelectBuilder
Modified:
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
Modified:
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
URL:
http://svn.apache.org/viewvc/ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java?rev=939007&r1=939006&r2=939007&view=diff
==============================================================================
---
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
(original)
+++
ibatis/java/ibatis-3/trunk/src/main/java/org/apache/ibatis/jdbc/SelectBuilder.java
Wed Apr 28 16:41:34 2010
@@ -22,6 +22,10 @@ public class SelectBuilder {
sql().select.add(columns);
}
+ public static void DISTINCT(boolean distinct) {
+ sql().distinct = distinct;
+ }
+
public static void FROM(String table) {
sql().from.add(table);
}
@@ -75,7 +79,12 @@ public class SelectBuilder {
public static String SQL() {
try {
StringBuilder builder = new StringBuilder();
- selectClause(builder, "SELECT", sql().select, "", "", ", ");
+ if (sql().distinct) {
+ selectClause(builder, "SELECT DISTINCT", sql().select, "", "", ", ");
+ } else {
+ selectClause(builder, "SELECT", sql().select, "", "", ", ");
+ }
+
selectClause(builder, "FROM", sql().from, "", "", ", ");
selectClause(builder, "JOIN", sql().join, "", "", "JOIN");
selectClause(builder, "INNER JOIN", sql().innerJoin, "", "", "\nINNER
JOIN ");
@@ -133,6 +142,7 @@ public class SelectBuilder {
List<String> groupBy = new ArrayList<String>();
List<String> orderBy = new ArrayList<String>();
List<String> lastList = new ArrayList<String>();
+ boolean distinct;
}
}