You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by gb...@apache.org on 2005/11/11 12:20:51 UTC
svn commit: r332519 - in /ibatis/trunk/cs/mapper:
IBatisNet.DataMapper.Test/Maps/Access/OleDb/
IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/
IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/
IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/ IBatisNet.DataMapper.T...
Author: gbayon
Date: Fri Nov 11 03:20:17 2005
New Revision: 332519
URL: http://svn.apache.org/viewcvs?rev=332519&view=rev
Log:
Fixed IBATISNET-125
Modified:
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml
ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Access/OleDb/Account.xml Fri Nov 11 03:20:17 2005
@@ -59,6 +59,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select top $MaximumAllowed$ * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/Odbc/Account.xml Fri Nov 11 03:20:17 2005
@@ -65,6 +65,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select top $MaximumAllowed$ * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/OleDb/Account.xml Fri Nov 11 03:20:17 2005
@@ -65,6 +65,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select top $MaximumAllowed$ * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MSSQL/SqlClient/Account.xml Fri Nov 11 03:20:17 2005
@@ -190,6 +190,17 @@
from Accounts
order by Account_ID
</select>
+
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
<select id="GetAccountViaColumnName"
parameterClass="int"
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/ByteFx/Account.xml Fri Nov 11 03:20:17 2005
@@ -110,6 +110,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/MySql/MySql/Account.xml Fri Nov 11 03:20:17 2005
@@ -110,6 +110,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/ODP/Account.xml Fri Nov 11 03:20:17 2005
@@ -111,6 +111,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<!--
NOTE: Should NOT be a dynamic prepend test for Oracle since the rownum has to be
part of the where clause. Best suited for MSSQL using TOP keyword in SELECT.
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/Oracle/OracleClient/Account.xml Fri Nov 11 03:20:17 2005
@@ -108,6 +108,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<!--
NOTE: Should NOT be a dynamic prepend test for Oracle since the rownum has to be
part of the where clause. Best suited for MSSQL using TOP keyword in SELECT.
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/Maps/PostgreSQL/Npgsql/Account.xml Fri Nov 11 03:20:17 2005
@@ -110,6 +110,17 @@
-->
<statements>
+ <select id="GetAllAccountsAsArrayListViaResultClass"
+ resultClass="ArrayList">
+ select
+ Account_ID as Id,
+ Account_FirstName as FirstName,
+ Account_LastName as LastName,
+ Account_Email as EmailAddress
+ from Accounts
+ order by Account_ID
+ </select>
+
<select id="GetAccountsDynamic" resultMap="account-result" parameterClass="Hashtable" >
select * from Accounts
<dynamic prepend="where">
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper.Test/NUnit/SqlMapTests/StatementTest.cs Fri Nov 11 03:20:17 2005
@@ -303,6 +303,34 @@
}
/// <summary>
+ /// Test QueryForList with IList ResultClass
+ /// </summary>
+ [Test]
+ public void TestQueryForListWithIListResultClass()
+ {
+ IList list = sqlMap.QueryForList("GetAllAccountsAsArrayListViaResultClass", null);
+
+ IList listAccount = (IList) list[0];
+ Assert.AreEqual(1,listAccount[0]);
+ Assert.AreEqual("Joe",listAccount[1]);
+ Assert.AreEqual("Dalton",listAccount[2]);
+ Assert.AreEqual("Joe.Dalton@somewhere.com",listAccount[3]);
+
+ Assert.AreEqual(5, list.Count);
+
+ listAccount = (IList) list[0];
+ Assert.AreEqual(1, listAccount[0]);
+ listAccount = (IList) list[1];
+ Assert.AreEqual(2, listAccount[0]);
+ listAccount = (IList) list[2];
+ Assert.AreEqual(3,listAccount[0]);
+ listAccount = (IList) list[3];
+ Assert.AreEqual(4, listAccount[0]);
+ listAccount = (IList) list[4];
+ Assert.AreEqual(5, listAccount[0]);
+ }
+
+ /// <summary>
/// Test QueryForList With ResultMap, result collection as ArrayList
/// </summary>
[Test]
Modified: ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs
URL: http://svn.apache.org/viewcvs/ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs?rev=332519&r1=332518&r2=332519&view=diff
==============================================================================
--- ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs (original)
+++ ibatis/trunk/cs/mapper/IBatisNet.DataMapper/MappedStatements/MappedStatement.cs Fri Nov 11 03:20:17 2005
@@ -283,12 +283,19 @@
SetObjectProperty(request, request.ResultMap, property, ref outObject, reader);
}
- else if (outObject is Hashtable)
+ else if (outObject is IDictionary)
{
for (int i = 0; i < reader.FieldCount; i++)
{
string columnName = reader.GetName(i);
- ((Hashtable) outObject).Add(columnName, reader.GetValue(i));
+ ((IDictionary) outObject).Add(columnName, reader.GetValue(i));
+ }
+ }
+ else if (outObject is IList)
+ {
+ for (int i = 0; i < reader.FieldCount; i++)
+ {
+ ((IList) outObject).Add(reader.GetValue(i));
}
}
else