1、配置resultMap:
<resultMap id="BaseResultMap" type="cn.iautos.manager.entity.mybatis.MallSafeguardService" > <id column="id" property="id" jdbcType="INTEGER" /> <result column="safeguard_id" property="safeguardId" jdbcType="INTEGER" /> <result column="service_id" property="serviceId" jdbcType="INTEGER" /> <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> <result column="isdel" property="isdel" jdbcType="TINYINT" /> 这个是主要的配置。如果两个表中的字段名称相同则会出现数据异常。解决方法,可以使用别名的形式,对相同的字段赋值 <association property="service" column="id" javaType="cn.iautos.manager.entity.mybatis.MallService" resultMap="cn.iautos.manager.repository.MallServiceDAO.BaseResultMap"/> </resultMap>
2、查询语句:
<select id="selectSafeServiceBySafeId" resultMap="BaseResultMap" parameterType="cn.iautos.manager.entity.mybatis.MallSafeguardService" > SELECT mss.*,ms.* from mall_safeguard_service mss LEFT JOIN mall_service ms on mss.service_id = ms.id where mss.safeguard_id=#{safeguardId} </select>