读书人

施用 ibatis 处理复杂对象数据关系的实

发布时间: 2013-03-06 16:20:31 作者: rapoo

使用 ibatis 处理复杂对象数据关系的实例


?

在上面的 mapping 中,A_BELONGEDCATALOG 为查询结果中的一个字段,而 getArticleCatalogById 为一个返回结果为 Catalog 的查询。因此 ibatis 在调用时,将会把 A_BELONGEDCATALOG 作为参数传入 getArticleCatalogById 来生成一个 Catalog 实例的引用 , 并将改引用赋值给 belongedCatalog 属性。


?


?

上面的 getGroupByArticle 为一条根据 Article 查出 Group 的语句,该查询需要将关系表与 Groupe 表 join,返回结果为一个 Group 的列表。同样需要注意的是,在对应的增加 / 删除 / 修改操作中,也需要调用一个 SQL 语句来更新关系表,上面是删除的例子。

public Customer getCustomerById(String id) { String classKey=(String) sqlSession.queryForObject("getClassKeyByID", id); if(“COM”.equals(classKey)) return (Customer) sqlSession.queryForObject("getCompanyCustomerByID", id); else if(“PERSON”.equals(classKey)) return (Customer) sqlSession.queryForObject("getPersonCustomerByID", id); }


?

总结

本文介绍了关于 iBatis 开发中常用的映射的实现,由于 iBatis 的所有语句必须靠开发人员生成,上面描述的种种对象关系和给出的实现实例将对开发 iBatis 的应用具有非常大的指导意义。

?

分享到: <!--192.168.1.236-->
读书人网 >编程

热点推荐