В то время как я соглашаюсь, что многие книги выше являются должен-чтениями (Прагматически настроенный Программист, Мифический Месяц Человека, Искусство Программирования, и SICP сразу приходят на ум), я хотел бы войти в немного отличающееся направление и рекомендовать Дисциплина А Программирования Edsger Dijkstra. Даже при том, что этому 32 года, акцент на "дизайн для verifiability" очень релевантен (даже если "verifiability" означает "доказательство" вместо этого "модульные тесты").
Поскольку решения не было найдено, я просто выбрал метод, которым не особо горжусь.
Я сопоставил класс, у которого не было другого свойства, кроме строкового значения.
public class StringValue
{
public String Name { get; set; }
}
<resultMap id="StringList" class="StringValue" >
<result property="Name" column="Value"/>
</resultMap>
У iBatis, похоже, нет проблем с этим, только с отображением на набор строк.
По крайней мере, в iBATIS3 для Java ваше указанное выше может просто использовать resultMap, например:
<resultMap id="someClassMap" type="SomeClass">
<collection property="Strings" ofType="String"/>
</resultMap>
Сервис - > Параметры - > В разделе Среда имеются шрифты и цвета, измените фон элемента.
-121--1268640-Сервис -- > Параметры -- > Среда -- > Шрифты и цвета
-121--1268637-Мой опыт связан с Java-версией iBATIS, но решение все равно должно работать для C #, который смотрит туда.
Учитывая класс
class MyClass {
int id;
List<String> firstName;
}
Можно заполнить список строк или других простых типов (классов без атрибутов, таких как целое число, строка и т.д.) следующими двумя результирующими картами
<sqlMap namespace="ns">
<resultMap id="ListMap" class="string">
<result property="firstName" column="firstName"
javaType="java.util.List" jdbcType="VARCHAR"/>
</resultMap>
<resultMap id="PrimaryMap" class="MyClass" groupBy="id">
<result property="id" columnName="id"/>
<result property="firstname" resultMap="ns.ListMap" javaType="java.util.List"/>
</resultMap>
<select id="MySuperQuery" resultMap="PrimaryMap">
select id, firstName from user
</select>
</sqlMap>
Надеюсь, что это поможет.
можно просто использовать 'System.String' или 'java.lang.String' в качестве свойства