简而言之,如果使用resultType那么就只能使用pojo了;如果使用resultMap的话就可以使用mappers.xml中的resultMap定义了。
<resultMap id="BaseResultMap" type="com.xiangyu.ycq.entity.users">
<id column="id" jdbcType="INTEGER" property="id" />
<result column="openid" jdbcType="VARCHAR" property="openid" />
<result column="nickname" jdbcType="VARCHAR" property="nickname" />
<result column="headimgurl" jdbcType="VARCHAR" property="headimgurl" />
<result column="createtime" jdbcType="TIMESTAMP" property="createtime" />
<result column="country" jdbcType="VARCHAR" property="country" />
<result column="province" jdbcType="VARCHAR" property="province" />
<result column="city" jdbcType="VARCHAR" property="city" />
<result column="sex" jdbcType="INTEGER" property="sex" />
</resultMap>
<sql id="Base_Column_List">
id, openid, nickname, headimgurl, createtime, country, province, city, sex
</sql>
<select id="selectByOpenID" resultMap="BaseResultMap">
select * from users where openid=#{openid} limit 1
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from users
where id = #{id,jdbcType=INTEGER}
</select>
<select id="findByUserId" resultType="com.accp.entity.User">
select * from users where id=#{id} limit 1
</select>