mybatis 映射一对多查询返回集合
2014-08-14 11:29
344 查看
xml 配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saic.grape.csc.dao.CouponManagerCscDAO">
<resultMap id="CouponMap" type="Map">
<result column="coupId" property="coupId" javaType="string"/>
<collection property="brandList" ofType="map" javaType="ArrayList" column="coupId" select="queryBrandList"/>
<collection property="cityList" ofType="map" javaType="ArrayList" column="coupId" select="queryCityList"/>
</resultMap>
<!-- 获取保养券列表 -->
<select id="getCouponList" parameterType="Map" resultMap="CouponMap" flushCache="true">
SELECT
c.id coupId,
DATE_FORMAT(c.expired_date,'%Y-%m-%d %H:%i:%s') AS expiredDate,
c.valid_days validDays,
c.amount amount,
c.states states,
DATE_FORMAT(c.modify_date,'%Y-%m-%d %H:%i:%s') AS modifyDate,
c.memo memo
FROM t_coupon c
<where>
<if test="coupId != null and coupId != ''">
c.id = #{coupId}
</if>
<if test="expiredDate != null and expiredDate != ''">
AND c.expired_date = #{expiredDate}
</if>
<if test="validDays != null and validDays != ''">
AND c.valid_days = #{validDays}
</if>
<if test="amount != null and amount != ''">
AND c.amount = #{amount}
</if>
<if test="states != null and states != ''">
AND c.states = #{states}
</if>
</where>
</select>
<select id="queryBrandList" parameterType="string" resultType="map">
SELECT
cb.id cbId,
cb.brand_id brandId,
cb.brand_name brandName
FROM t_coupon_brand cb
WHERE
cb.coupon_id = #{coupId}
</select>
<select id="queryCityList" parameterType="string" resultType="map">
SELECT
cc.id ccId,
cc.city_code cityCode,
cc.city_name cityName
FROM t_coupon_city cc
WHERE
cc.coupon_id = #{coupId}
</select>
</mapper>
java 代码:
/**
* 获取保养券规则信息列表
*/
@Override
public List<Map<String, Object>> getCouponList(Map<String, Object> params) {
// TODO Auto-generated method stub
return this.getSqlSession().selectList(nameSpace.concat("getCouponList"), params);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.saic.grape.csc.dao.CouponManagerCscDAO">
<resultMap id="CouponMap" type="Map">
<result column="coupId" property="coupId" javaType="string"/>
<collection property="brandList" ofType="map" javaType="ArrayList" column="coupId" select="queryBrandList"/>
<collection property="cityList" ofType="map" javaType="ArrayList" column="coupId" select="queryCityList"/>
</resultMap>
<!-- 获取保养券列表 -->
<select id="getCouponList" parameterType="Map" resultMap="CouponMap" flushCache="true">
SELECT
c.id coupId,
DATE_FORMAT(c.expired_date,'%Y-%m-%d %H:%i:%s') AS expiredDate,
c.valid_days validDays,
c.amount amount,
c.states states,
DATE_FORMAT(c.modify_date,'%Y-%m-%d %H:%i:%s') AS modifyDate,
c.memo memo
FROM t_coupon c
<where>
<if test="coupId != null and coupId != ''">
c.id = #{coupId}
</if>
<if test="expiredDate != null and expiredDate != ''">
AND c.expired_date = #{expiredDate}
</if>
<if test="validDays != null and validDays != ''">
AND c.valid_days = #{validDays}
</if>
<if test="amount != null and amount != ''">
AND c.amount = #{amount}
</if>
<if test="states != null and states != ''">
AND c.states = #{states}
</if>
</where>
</select>
<select id="queryBrandList" parameterType="string" resultType="map">
SELECT
cb.id cbId,
cb.brand_id brandId,
cb.brand_name brandName
FROM t_coupon_brand cb
WHERE
cb.coupon_id = #{coupId}
</select>
<select id="queryCityList" parameterType="string" resultType="map">
SELECT
cc.id ccId,
cc.city_code cityCode,
cc.city_name cityName
FROM t_coupon_city cc
WHERE
cc.coupon_id = #{coupId}
</select>
</mapper>
java 代码:
/**
* 获取保养券规则信息列表
*/
@Override
public List<Map<String, Object>> getCouponList(Map<String, Object> params) {
// TODO Auto-generated method stub
return this.getSqlSession().selectList(nameSpace.concat("getCouponList"), params);
}
相关文章推荐
- mybatis ---- 级联查询 一对多 (集合映射)
- Mybatis查询到多条记录但是映射到list集合只有一条或者条数不对
- MyBatis映射文件(集合数据的添加与获取,条件查询,模糊查询)
- mybatis ---- 级联查询 一对多 (集合映射)
- mybatis ---- 级联查询 一对多 (集合映射)
- mybatis ---- 级联查询 一对多 (集合映射)
- mybatis ---- 级联查询 一对多 (集合映射)mybatis中:returned more than one row, where no more than one was expected
- mybatis ---- 级联查询 一对多 (集合映射)
- mybatis ---- 级联查询 一对多 (集合映射)
- Mybatis查询语句返回对象和泛型集合
- 好947 Mybatis 配置resultMap 带参数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错
- hibernate通过query查询返回实体集合相关注意事项
- mybatis的多表查询,映射到实体的应用(一)
- Mybatis3查询语句映射
- MyBatis查询语句返回结果类型为HashMap
- mybatis联合查询 之 高级结果映射
- MyBatis之一对多映射查询sql配置文件。
- mybatis中文条件查询时,不返回值
- mybatis查询类型为int的字段,返回null的异常
- 解决mybatis查询返回结果值串查