I.概要:
Mybatis:
ユーザーとそのアドレスの情報クエリを実現します。
(1)ユーザーとアドレスの間には1対多の関係があり、それらには1対多のエンティティアソシエーション構成が必要です。
(2)XMLとアノテーションの2つの方法で実装されます
説明:データベースspringdb、データテーブルはt_userおよびt_addressです
永続性クラス:
1. Address.java
package org.example.po;
public class Address {
private int id;
private String streetName;
private String zipcode;
private int userInfo_Id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getStreetName() {
return streetName;
}
public void setStreetName(String streetName) {
this.streetName = streetName;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
public int getUserInfo_Id() {
return userInfo_Id;
}
public void setUserInfo_Id(int userInfo_Id) {
this.userInfo_Id = userInfo_Id;
}
@Override
public String toString() {
return "Address{" +
"id=" + id +
", streetName='" + streetName + '\'' +
", zipcode='" + zipcode + '\'' +
", userInfo_Id='" + userInfo_Id + '\'' +
'}';
}
}
2. User.java
package org.example.po;
import java.util.List;
public class User {
private int id;
private String loginName;
private String password;
private String realName;
private List<Address> addresses;
public List<Address> getAddresses() {
return addresses;
}
public void setAddresses(List<Address> addresses) {
this.addresses = addresses;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getRealName() {
return realName;
}
public void setRealName(String realName) {
this.realName = realName;
}
// @Override
// public String toString() {
// return "User{" +
// "id=" + id +
// ", loginName='" + loginName + '\'' +
// ", password='" + password + '\'' +
// ", realName='" + realName + '\'' +
// '}';
// }
@Override
public String toString() {
return "User{" +
"id=" + id +
", loginName='" + loginName + '\'' +
", password='" + password + '\'' +
", realName='" + realName + '\'' +
", addresses=" + addresses +
'}';
}
}
1. XMLモード:
UserMapper.java
AddressMapper.java
UserMapper.xml
AddressMapper.xml
試験方法:
試験結果:
2.注釈方法:
UserMapper.java
AddressMapper.java
Usersql.java
2つのマッパー構成ファイルが削除され、他のコードは変更されませんでした。
テスト: