欢迎来到天天文库
浏览记录
ID:40751161
大小:22.52 KB
页数:18页
时间:2019-08-07
《Mybatis 高级结果映射 ResultMap Association Collection - ilovejava》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Mybatis高级结果映射ResultMapAssociationCollection-ilovejavaMyBatis的创建基于这样一个思想:数据库并不是您想怎样就怎样的。虽然我们希望所有的数据库遵守第三范式或BCNF(修正的第三范式),但它们不是。如果有一个数据库能够完美映射到所有应用程序,也将是非常棒的,但也没有。结果集映射就是MyBatis为解决这些问题而提供的解决方案。例如,我们如何映射下面这条语句?[java]2、lectBlogDetails"parameterType="int"resultMap="detailedBlogResultMap">selectB.idasblog_id,B.titleasblog_title,B.author_idasblog_author_id,A.idasauthor_id,A.usernameasauthor_username,A.passwordasauthor_password,A.emailasauthor_email,A.bioasauthor_bio,A.fa3、vourite_sectionasauthor_favourite_section,P.idaspost_id,P.blog_idaspost_blog_id,P.author_idaspost_author_id,P.created_onaspost_created_on,P.sectionaspost_section,P.subjectaspost_subject,P.draftasdraft,P.bodyaspost_body,C.idascomment_id,C.post_idascommen4、t_post_id,C.nameascomment_name,C.commentascomment_text,T.idastag_id,T.nameastag_namefromBlogBleftouterjoinAuthorAonB.author_id=A.idleftouterjoinPostPonB.id=P.blog_idleftouterjoinCommentConP.id=C.post_idleftouterjoinPost_TagPTonPT.post_id=P.idleftouterjo5、inTagTonPT.tag_id=T.idwhereB.id=#{id}您可能想要把它映射到一个智能的对象模型,包括由一个作者写的一个博客,有许多文章(Post,帖子),每个文章由0个或者多个评论和标签。下面是一个复杂ResultMap的完整例子(假定作者、博客、文章、评论和标签都是别名)。仔细看看这个例子,但是不用太担心,我们会一步步地来分析,一眼看上去可能让人沮丧,但是实际上非常简单的[java]6、detailedBlogResultMap"type="Blog">7、ultproperty="username"column="author_username"/>8、n"/>
2、lectBlogDetails"parameterType="int"resultMap="detailedBlogResultMap">selectB.idasblog_id,B.titleasblog_title,B.author_idasblog_author_id,A.idasauthor_id,A.usernameasauthor_username,A.passwordasauthor_password,A.emailasauthor_email,A.bioasauthor_bio,A.fa
3、vourite_sectionasauthor_favourite_section,P.idaspost_id,P.blog_idaspost_blog_id,P.author_idaspost_author_id,P.created_onaspost_created_on,P.sectionaspost_section,P.subjectaspost_subject,P.draftasdraft,P.bodyaspost_body,C.idascomment_id,C.post_idascommen
4、t_post_id,C.nameascomment_name,C.commentascomment_text,T.idastag_id,T.nameastag_namefromBlogBleftouterjoinAuthorAonB.author_id=A.idleftouterjoinPostPonB.id=P.blog_idleftouterjoinCommentConP.id=C.post_idleftouterjoinPost_TagPTonPT.post_id=P.idleftouterjo
5、inTagTonPT.tag_id=T.idwhereB.id=#{id}您可能想要把它映射到一个智能的对象模型,包括由一个作者写的一个博客,有许多文章(Post,帖子),每个文章由0个或者多个评论和标签。下面是一个复杂ResultMap的完整例子(假定作者、博客、文章、评论和标签都是别名)。仔细看看这个例子,但是不用太担心,我们会一步步地来分析,一眼看上去可能让人沮丧,但是实际上非常简单的[java]6、detailedBlogResultMap"type="Blog">7、ultproperty="username"column="author_username"/>8、n"/>
6、detailedBlogResultMap"type="Blog">7、ultproperty="username"column="author_username"/>8、n"/>
7、ultproperty="username"column="author_username"/>8、n"/>
8、n"/>
此文档下载收益归作者所有