<mapper namespace=”com.system.mapper.UsersDeliveryMapper”>
<select id=”findDeliverById” resultMap=”delivery”>
select ud.id, ud.address,ud.zipcode,ud.consignee,ud.telephone,ud.is_default,ud.province,ud.city,ud.county,
(select region_name from base_region where id = ud.province) as province_name,
(select region_name from base_region where id = ud.city) as city_name,
(select region_name from base_region where id = ud.county) as county_name
from users_deliveryaddress ud
where ud.status = 1 and ud.user_id = #{id} order by ud.is_default desc
</select>
<resultMap type=”com.business.pojo.UserDelivery” id=”delivery”>
<id property=”id” column=”id” />
<result property=”province” column=”province” javaType=”java.lang.Integer” />
<result property=”city” column=”city” javaType=”java.lang.Integer” />
<result property=”county” column=”county” javaType=”java.lang.Integer” />
<result property=”address” column=”address” javaType=”java.lang.String” />
<result property=”zipcode” column=”zipcode” javaType=”java.lang.String” />
<result property=”consignee” column=”consignee” javaType=”java.lang.String” />
<result property=”telephone” column=”telephone” javaType=”java.lang.String” />
<result property=”isDefault” column=”is_default” javaType=”java.lang.Integer” />
<result property=”provinceName” column=”province_name” javaType=”java.lang.String” />
<result property=”cityName” column=”city_name” javaType=”java.lang.String” />
<result property=”countyName” column=”county_name” javaType=”java.lang.String” />
</resultMap>
本人的想法就是将 resultMap=“delivery” 改变成 resultType=“java.util.HashMap” 下面的<resultMap>就不用写了,外面也不用写实体类来映射,就直接返回一个HashMap。
但现在的问题就是这样做的话HashMap的KEY值是下划线的,而不是驼峰命名法,怎么解决查询的数据到HashMap直接自动的变成驼峰的值
<select id=”findDeliverById” resultMap=”delivery”>
select ud.id, ud.address,ud.zipcode,ud.consignee,ud.telephone,ud.is_default,ud.province,ud.city,ud.county,
(select region_name from base_region where id = ud.province) as province_name,
(select region_name from base_region where id = ud.city) as city_name,
(select region_name from base_region where id = ud.county) as county_name
from users_deliveryaddress ud
where ud.status = 1 and ud.user_id = #{id} order by ud.is_default desc
</select>
<resultMap type=”com.business.pojo.UserDelivery” id=”delivery”>
<id property=”id” column=”id” />
<result property=”province” column=”province” javaType=”java.lang.Integer” />
<result property=”city” column=”city” javaType=”java.lang.Integer” />
<result property=”county” column=”county” javaType=”java.lang.Integer” />
<result property=”address” column=”address” javaType=”java.lang.String” />
<result property=”zipcode” column=”zipcode” javaType=”java.lang.String” />
<result property=”consignee” column=”consignee” javaType=”java.lang.String” />
<result property=”telephone” column=”telephone” javaType=”java.lang.String” />
<result property=”isDefault” column=”is_default” javaType=”java.lang.Integer” />
<result property=”provinceName” column=”province_name” javaType=”java.lang.String” />
<result property=”cityName” column=”city_name” javaType=”java.lang.String” />
<result property=”countyName” column=”county_name” javaType=”java.lang.String” />
</resultMap>
本人的想法就是将 resultMap=“delivery” 改变成 resultType=“java.util.HashMap” 下面的<resultMap>就不用写了,外面也不用写实体类来映射,就直接返回一个HashMap。
但现在的问题就是这样做的话HashMap的KEY值是下划线的,而不是驼峰命名法,怎么解决查询的数据到HashMap直接自动的变成驼峰的值
解决方案
10
select as …驼峰名
30
假如改成resultType=“java.util.HashMap” ,只能用select 字段 as 别名的形式,还不如resultMap=“delivery”这种方式,另外个人认为后者更易维护。