前期准备
建立用户信息user和账户表account,并设置外键
建立账户account和用户user实体类
public class User implements Serializable {
private Integer id;
private String nam;
private String sex;
private String address;
private Integer age;
@Override
public String toString() {
return "User{" +
"id=" + id +
", nam='" + nam + '\'' +
", sex='" + sex + '\'' +
", address='" + address + '\'' +
", age=" + age +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getNam() {
return nam;
}
public void setNam(String nam) {
this.nam = nam;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
public class Account implements Serializable {
private Integer id;
private Integer uid;
private Double money;
@Override
public String toString() {
return "Account{" +
"id=" + id +
", uid=" + uid +
", money=" + money +
'}';
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
}
一对一查询目标:查询账户表中所有信息,以及对应的用户信息。
查询方式一:
定义AccountUser类,如下:
public class AccountUser extends Account{
private String nam;
private String address;
@Override
public String toString() {
return super.toString() + "AccountUser{" +
"nam='" + nam + '\'' +
", address='" + address + '\'' +
'}';
}
public String getNam() {
return nam;
}
public void setNam(String nam) {
this.nam = nam;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
定义IAccountDao接口
重新定义配置文件IAccountDao.xml
测试:
查询方式二:
在账户实体类中添加User属性,并重新生成 toString() 方法
定义IAccountDao接口方法:
重新定义配置文件 IAccountDao.xml:
测试: