温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

iBATIS.NET多表查询方法的示例分析

发布时间:2021-10-28 10:17:00 来源:亿速云 阅读:110 作者:柒染 栏目:编程语言

这篇文章给大家介绍iBATIS.NET多表查询方法的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

iBATIS.NET多表查询方法是什么呢?让我们从实例出发逐步认识:

建两张表Account和Degree,使用Account_ID关联,需要查出两张表的所有纪录

首先:修改实体类,增加以下属性:

private Degree _degree;   public Degree Degree   {       get       {           return _degree;       }       set       {           _degree = value;       }   }

然后:修改配置文件,这也是最重要的地方(PS:iBATIS.NET中的配置文件真的很强)

在resultMaps节加入:

﹤resultMap id="com2result"  class="Account" ﹥    ﹤result property="Id"           column="Account_ID"/﹥    ﹤result property="FirstName"    column="Account_FirstName"/﹥    ﹤result property="LastName"     column="Account_LastName"/﹥    ﹤result property="EmailAddress" column="Account_Email" nullValue="no_email@provided.com"/﹥    ﹤result property="Degree"  resultMapping="Account.Degree-result"/﹥  ﹤/resultMap﹥   ﹤resultMap id="Degree-result"  class="Degree"﹥    ﹤result property="Id"           column="Account_ID"/﹥    ﹤result property="DegreeName"    column="DegreeName"/﹥  ﹤/resultMap﹥

这里最主要的就是使用了resultMapping属性,resultMapping="Account.Degree-result",其中Account是当前配置文件的namespace:

﹤sqlMap namespace="Account"  ......

在statements节加入:

﹤select id="GetCom2Tables"  resultMap="com2result"﹥    select Accounts.*, Degree.*    from Accounts,Degree    where Accounts.Account_ID = Degree.Account_ID  ﹤/select﹥

这样就可以随心所欲的写自己需要的sql,性能也很好,不会出现第三种方法中的1+n条的查询语句了。

那么,iBATIS.NET多表查询方法就向你介绍到这里,希望对你了解iBATIS.NET多表查询方法有所帮助。

关于iBATIS.NET多表查询方法的示例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI