ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Henry Lu <z...@umich.edu>
Subject Re: BUG?
Date Mon, 16 Jan 2006 17:42:48 GMT
It worked! Thanks a lot. I have a question for you. If I don't specify 
"remapResults=true" How the map works? What is the time period for the 
remap? within a thread? a session? an application? reboot web server? or 
something else?

-Henry

Larry Meadors wrote:

>Add remapResults="true" to your select tag.
>
>Larry
>
>
>On 1/16/06, Henry Lu <zhlu@umich.edu> wrote:
>  
>
>>Take a look the following debug message: (I am using ibatis 2.1.16)
>>
>>PreparedStatement:      select PARAM1 as m_data1,lab_role_Fnc(PARAM2) as
>>m_data2,USERID as m_da
>>ta3,Name_Fnc(PARAM2) as m_data4,PARAM2 as m_data5, APPLCD m_data6
>>FROM AUT
>>HORIZE.USER_ROLES    where        APPLCD='COREYP' AND
>>PARAM1='2'              OR
>>DER BY 2
>>11:25:51,156 DEBUG - [sql.PreparedStatement.debug] {pstm-100004}
>>Parameters: []
>>11:25:51,156 DEBUG - [sql.PreparedStatement.debug] {pstm-100004} Types: []
>>11:25:51,156 DEBUG - [sql.ResultSet.debug] {rset-100005} ResultSet
>>11:25:51,171 DEBUG - [sql.ResultSet.debug] {rset-100005} Header:
>>[M_DATA1, M_DAT
>>A2, M_DATA3, M_DATA4, M_DATA5, M_DATA6]
>>11:25:51,171 DEBUG - [sql.ResultSet.debug] {rset-100005} Result: [2,
>>DIRECTOR, j
>>eschwar, Schwartz,Jessica, 01043411, COREYP]
>>1=2, 2=DIRECTOR, 3=jeschwar, 4=Schwartz,Jessica, 5=01043411, 6=COREYP
>>
>>so far so good
>>
>>11:25:51,187 DEBUG - [sql.Connection.debug] {conn-100006} Connection
>>11:25:51,187 DEBUG - [sql.PreparedStatement.debug] {pstm-100007}
>>PreparedStateme
>>nt:      select LAB_ID as m_data1,LAB_ID || ' - ' || LAB_NAME as
>>m_data2       F
>>ROM LABS                  ORDER BY LAB_NAME
>>11:25:51,187 DEBUG - [sql.PreparedStatement.debug] {pstm-100007}
>>Parameters: []
>>11:25:51,187 DEBUG - [sql.PreparedStatement.debug] {pstm-100007} Types: []
>>11:25:51,203 DEBUG - [sql.ResultSet.debug] {rset-100008} ResultSet
>>11:25:51,203 DEBUG - [sql.ResultSet.debug] {rset-100008} Header:
>>[M_DATA1, M_DAT
>>A2]
>>11:25:51,203 DEBUG - [sql.ResultSet.debug] {rset-100008} Result: [2, 2 -
>>CMB lab
>> I]
>>
>>error:
>>
>>org.springframework.jdbc.BadSqlGrammarException: Bad SQL grammar [] in
>>task 'SqlMapClient operation'; nested exception is
>>com.ibatis.common.jdbc.exception.NestedSQLException: --- The error
>>occurred in edu/umich/med/umms/coreyp/dao/ibatis_map/misc.xml. --- The
>>error occurred while applying a result map. --- Check the
>>select_list_col_str-AutoResultMap. --- Check the result mapping for the
>>'m_data3' property. --- Cause: java.sql.SQLException: Invalid column name
>>org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator(SQLErrorCodeSQLExceptionTranslator.java:223)
>>
>>somehow, ibatis/sql tried to take partial of first statemen in to the
>>second one.
>>
>>here is my map:
>>
>>  <select id="select_list_col_str"
>>             resultClass="Strdata">
>>    select $col_name_str$
>>           FROM $table_name$
>>   <dynamic prepend="where">
>>    <isNotEmpty prepend="and" property="where_str">
>>        $where_str$
>>    </isNotEmpty>
>>   </dynamic>
>>       ORDER BY $order_str$
>>  </select>
>>
>>Java code:
>>
>>      lab_id = "2";
>>
>>      where_str = "APPLCD='COREYP' AND PARAM1='"
>>         + lab_id + "'";
>>
>>      col_name_list =
>>         "PARAM1 as m_data1,"
>>         + "lab_role_Fnc(PARAM2) as m_data2,"
>>         + "USERID as m_data3,"
>>         + "Name_Fnc(PARAM2) as m_data4,"
>>         + "PARAM2 as m_data5, APPLCD m_data6";
>>
>>      List lst2 = m_misc.SelectList_col_str(
>>            col_name_list,
>>            "AUTHORIZE.USER_ROLES",
>>            where_str, "2");
>>      if (lst2 != null && lst2.size() > 0) {
>>         st = (Strdata)lst2.get(0);
>>         System.out.println(
>>               "1="+st.getM_data1()+
>>               ", 2="+ st.getM_data2() +
>>               ", 3="+ st.getM_data3() +
>>               ", 4="+ st.getM_data4() +
>>               ", 5="+ st.getM_data5() +
>>               ", 6="+ st.getM_data6());
>>         form.setCnt_1(lst2.size());
>>         form.setList_1(lst2);
>>      }
>>
>>      where_str = null;
>>      order_str = "LAB_NAME";
>>      col_name_list = "LAB_ID as m_data1,"
>>         + "LAB_ID || ' - ' || LAB_NAME as m_data2";
>>
>>      lst = m_misc.SelectList_col_str(
>>            col_name_list,
>>            "LABS", where_str, order_str);
>>      if (lst != null && lst.size() > 0) {
>>         form.setCnt_2(lst.size());
>>         form.setList_2(lst);
>>      } else {
>>         return;
>>      }
>>
>>   public List SelectList_col_str(String col_str, // required
>>         String table_name, // required
>>         String where_str,  // optional
>>         String order_str)  // required
>>   {
>>      Map map = new HashMap(4);
>>      map.put("col_name_str", col_str); // required
>>      map.put("table_name", table_name); // required
>>      if (where_str != null && where_str.length() > 0) {
>>         map.put("where_str", where_str);
>>      } else {
>>         map.put("where_str", "");
>>      }
>>      map.put("order_str", order_str); // required
>>
>>      return getSqlMapClientTemplate().queryForList(
>>               "select_list_col_str", map);
>>   }
>>
>>-Henry
>>
>>
>>    
>>
>
>
>  
>

Mime
View raw message