Author: cbegin
Date: Sun Nov 30 21:45:40 2008
New Revision: 721972

URL: http://svn.apache.org/viewvc?rev=721972&view=rev
Log:
added selectOne

Added:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/ApiException.java
Modified:
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSession.java
    
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java

Added: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/ApiException.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/ApiException.java?rev=721972&view=auto
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/ApiException.java
 (added)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/ApiException.java
 Sun Nov 30 21:45:40 2008
@@ -0,0 +1,20 @@
+package org.apache.ibatis.api;
+
+public class ApiException extends RuntimeException {
+
+  public ApiException() {
+    super();
+  }
+
+  public ApiException(String message) {
+    super(message);
+  }
+
+  public ApiException(String message, Throwable cause) {
+    super(message, cause);
+  }
+
+  public ApiException(Throwable cause) {
+    super(cause);
+  }
+}

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSession.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSession.java?rev=721972&r1=721971&r2=721972&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSession.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/SqlSession.java
 Sun Nov 30 21:45:40 2008
@@ -6,6 +6,8 @@
 
 public interface SqlSession {
 
+  Object selectOne(String statement);
+  Object selectOne(String statement, Object parameter);
   List selectList(String statement);
   List selectList(String statement, Object parameter);
   List selectList(String statement, Object parameter, int offset, int limit);

Modified: 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java
URL: 
http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java?rev=721972&r1=721971&r2=721972&view=diff
==============================================================================
--- 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java
 (original)
+++ 
ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/api/defaults/DefaultSqlSession.java
 Sun Nov 30 21:45:40 2008
@@ -1,6 +1,7 @@
 package org.apache.ibatis.api.defaults;
 
 import org.apache.ibatis.api.SqlSession;
+import org.apache.ibatis.api.ApiException;
 import org.apache.ibatis.api.exceptions.ExceptionFactory;
 import org.apache.ibatis.executor.Executor;
 import org.apache.ibatis.executor.result.ResultHandler;
@@ -20,6 +21,18 @@
     this.executor = executor;
   }
 
+  public Object selectOne(String statement) {
+    return selectOne(statement,null);
+  }
+
+  public Object selectOne(String statement, Object parameter) {
+    List list = selectList(statement, parameter);
+    if (list.size() != 1) {
+      throw new ApiException("Expected one result to be returned by 
selectOne(), but found: " + list.size());
+    }
+    return list.get(0);
+  }
+
   public List selectList(String statement) {
     return selectList(statement, null);
   }


Reply via email to