在实际开发中,我们常常遇到关联数据的情况,如User对象拥有若干Book对象
每个Book对象描述了归属于一个User信息,这种情况下,我们应该如何处理?
通过单独的Statement操作固然可以实现(通过Statement用于读取用户数据,再手工调用另外一个Statement
根据用户ID返回对应的book信息).不过这样未免失之繁琐.下面我们就看看在ibatis中,如何对关联数据进行操。
ibatis中,提供了Statement嵌套支持,通过Statement嵌套,我们即可实现关联数据的操作。
如下步骤演示一对多关联
1、创建user(id,name,age)表和book(id,name,uid)表2、POJO类
public class User implements Serializable { private static final long serialVersionUID = 1L; private int id; private String name; private int age; /** * ibatis一对多关联 */ private Set<Book> books = new HashSet<Book>(); public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Set<Book> getBooks() { return books; } public void setBooks(Set<Book> books) { this.books = books; }}
public class Book {