/*实体类*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(value = "good")
public class Good {
private String name;
private Double price;
private Integer stock;
private List<String> address;
}
mapper.java
@Mapper
public interface GoodMapper {
List<Good> selectByName(@Param("name") String name);
}
mapper.xml
<resultMap id="goodMap" type="com.example.demo.entity.Good">
<result javaType="java.lang.String" jdbcType="VARCHAR" column="name" property="name"/>
<result javaType="java.lang.Double" jdbcType="DECIMAL" column="price" property="price"/>
<result javaType="java.lang.Integer" jdbcType="INTEGER" column="stock" property="stock"/>
<!--此处是集合型的成员变量映射配置-->
<collection property="address" resultMap="addressMap"/>
</resultMap>
<!--此处是集合的映射配置-->
<resultMap id="addressMap" type="java.lang.String">
<result javaType="java.lang.String" jdbcType="VARCHAR" column="address"/>
</resultMap>
<select id="selectByName" resultMap="goodMap">
select * from good where name = #{name}
</select>
测试
@SpringBootTest
class GoodMapperTest {
@Autowired
GoodMapper goodMapper;
@Test
public void selectByNameTest(){
List<Good> list = goodMapper.selectByName("火腿肠");
list.forEach(System.out::print);
}
}
打印结果
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@4ac19bc6]
Good(name=火腿肠, price=1.2, stock=100, address=[华盛顿, 费城, 奥尔良, 德州, 纽约])
实现了!
不积跬步无以至千里,不积小流无以成江河