1 16 package com.ibatis.db.sqlmap; 17 18 import com.ibatis.common.util.PaginatedList; 19 import com.ibatis.sqlmap.client.SqlMapClient; 20 21 import java.sql.Connection ; 22 import java.sql.SQLException ; 23 import java.util.List ; 24 import java.util.Map ; 25 26 public class MappedStatement { 27 28 private SqlMapClient sqlMapClient; 29 private String statementName; 30 31 public MappedStatement(SqlMapClient sqlMapClient, String statementName) { 32 this.sqlMapClient = sqlMapClient; 33 this.statementName = statementName; 34 } 35 36 public int executeUpdate(Connection conn, Object parameterObject) 37 throws SQLException { 38 int n; 39 try { 40 sqlMapClient.setUserConnection(conn); 41 n = sqlMapClient.update(statementName, parameterObject); 42 } finally { 43 sqlMapClient.setUserConnection(null); 44 } 45 return n; 46 } 47 48 public void executeQueryWithRowHandler(Connection conn, Object parameterObject, RowHandler rowHandler) 49 throws SQLException { 50 try { 51 sqlMapClient.setUserConnection(conn); 52 sqlMapClient.queryWithRowHandler(statementName, parameterObject, new RowHandlerAdapter(rowHandler)); 53 } finally { 54 sqlMapClient.setUserConnection(null); 55 } 56 } 57 58 public Map executeQueryForMap(Connection conn, Object parameterObject, String keyProperty) 59 throws SQLException { 60 Map map; 61 try { 62 sqlMapClient.setUserConnection(conn); 63 map = sqlMapClient.queryForMap(statementName, parameterObject, keyProperty); 64 } finally { 65 sqlMapClient.setUserConnection(null); 66 } 67 return map; 68 } 69 70 public Map executeQueryForMap(Connection conn, Object parameterObject, String keyProperty, String valueProperty) 71 throws SQLException { 72 Map map; 73 try { 74 sqlMapClient.setUserConnection(conn); 75 map = sqlMapClient.queryForMap(statementName, parameterObject, keyProperty, valueProperty); 76 } finally { 77 sqlMapClient.setUserConnection(null); 78 } 79 return map; 80 } 81 82 public PaginatedList executeQueryForPaginatedList(Object parameterObject, int pageSize) 83 throws SQLException { 84 PaginatedList list = sqlMapClient.queryForPaginatedList(statementName, parameterObject, pageSize); 85 return list; 86 } 87 88 public List executeQueryForList(Connection conn, Object parameterObject) 89 throws SQLException { 90 List list; 91 try { 92 sqlMapClient.setUserConnection(conn); 93 list = sqlMapClient.queryForList(statementName, parameterObject); 94 } finally { 95 sqlMapClient.setUserConnection(null); 96 } 97 return list; 98 } 99 100 public List executeQueryForList(Connection conn, Object parameterObject, int skipResults, int maxResults) 101 throws SQLException { 102 List list; 103 try { 104 sqlMapClient.setUserConnection(conn); 105 list = sqlMapClient.queryForList(statementName, parameterObject, skipResults, maxResults); 106 } finally { 107 sqlMapClient.setUserConnection(null); 108 } 109 return list; 110 } 111 112 public Object executeQueryForObject(Connection conn, Object parameterObject) 113 throws SQLException { 114 Object o; 115 try { 116 sqlMapClient.setUserConnection(conn); 117 o = sqlMapClient.queryForObject(statementName, parameterObject); 118 } finally { 119 sqlMapClient.setUserConnection(null); 120 } 121 return o; 122 } 123 124 public Object executeQueryForObject(Connection conn, Object parameterObject, Object resultObject) 125 throws SQLException { 126 Object o; 127 try { 128 sqlMapClient.setUserConnection(conn); 129 o = sqlMapClient.queryForObject(statementName, parameterObject, resultObject); 130 } finally { 131 sqlMapClient.setUserConnection(null); 132 } 133 return o; 134 } 135 136 137 } 138 | Popular Tags |