iBATIS2配置sqlMap statement时的返回类型。。
笔记下。。数据库中表字段与类属性不匹配时就需要自定义resultMap。。
-
<?xml version="1.0" encoding="UTF-8"?>
-
<!DOCTYPE sqlMap
-
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
-
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
-
-
<sqlMap>
-
-
<!-- 设定类型别名 -->
-
<typeAlias alias="Student" type="org.yoyo.model.Student" />
-
-
<!-- 映射集合 -->
-
<resultMap id="Student" class="Student">
-
<result property="id" column="sid" />
-
<result property="name" column="name" />
-
<result property="age" column="age" />
-
<result property="major" column="major" />
-
</resultMap>
-
-
<!-- 查询语句 -->
-
<select id="queryAllStudents" resultMap="Student">
-
SELECT * FROM Student
-
</select>
-
-
</sqlMap>
最后这个select语句,如果定义的是resultClass="Student",则会匹配org.yoyo.model.Student(typeAlias里定义的别名真实类型)。
此时sid找不到匹配的属性,就无法获取,因此用resultMap="Student",此时sid会匹配到属性id去。
p.s. iBATIS2的配置真是巨多啊啊啊囧好恐怖……