iBATIS集成:数据操作与性能优化
1. 性能与关系处理
在一对多关系中,N + 1查询问题难以避免。不过,我们可以利用基本的 resultMap 设置基本属性,再通过详细的 resultMap 扩展来设置所有属性。例如,显示订单列表时,通常不需要订单明细信息,只有在显示订单详细摘要时才需要。这一般意味着通过主键选择订单域对象,进而执行另一个查询来返回所有订单行。
除了一对一和一对多关系,还有多对多关系。多对多查询可以通过创建两个一对多查询来实现。以用户(User)和角色(Role)对象为例,一个用户可以拥有多个角色,一个角色也可以分配给多个用户。这就需要一个关联表 UserRole ,它在用户和 UserRole 之间创建了1:N关系,在 UserRole 和角色之间创建了1:M关系,从而形成了M:N关系。
2. 数据更新
数据更新操作与查询操作类似,广泛使用参数映射和域对象。下面是一个更新 Test 表所有列的简单示例:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
<sqlMap>
超级会员免费看
订阅专栏 解锁全文

222

被折叠的 条评论
为什么被折叠?



