一、使用配置文件方式整合MyBatis
1、创建Mapper接口文件:@Mapper
//主要内容
@Mapper
public interface ArticalMapper{
//根据id查询文章(包含对应的评论)
public Article selectArticle(Integer id);
}
2、创建XML映射文件:编写对应的SQL语句
根据实体类来创建
public class Article{
private Integer id;
private String title;
private String content;
private List<Comment>commentList;
}
public class Comment{
private Integer ID;
private String content;
private IntegeraId;
}
对应SQL语句如下所示:
<resultMap id="ac" type="com.itheima.domain.Article ">
<id property="id" column="id"> </id>
<result property="title" column="title"> </result>
<result property="content" column="content"> </result>
<collection property="commentList" ofType="com.itheima.domain.Comment">
<id property="id" column="c_id"> </id>
<result property="content" column="content"> </result>
<result property="author" column="author"> </result>
<result property="aid" column="aid"> </result>
</collection>
</resultMap>
<select id="selectArticle" resultMap="ac" parameterType="int">
SELECT a.*, c.id c_id, c.content, c.author, c.a_id FROM t_article a, t_comment c WHERE c.a_id=a.id and a.id=#{a.id}
</select>
3、在全局文件中配置XML映射文件路径以及实体类别名映射路径
//配置mybatis的xml配置文件路径
mybatis.mapper-locations=classpath:mapper/ArticleMapper.xml
//配置xml映射文件中指定的实体类别名
mybatis.type-aliases-package=com.itheima.domain.
4、编写测试方法进行接口方法测试及整合测试
@Test
public void contextLoads(){
Article article=articleMapper.selectArticle(2);
System.out.println(article);
}
|