【Mybatis】—基本演習(3)

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つのマッパー構成ファイルが削除され、他のコードは変更されませんでした。    

    テスト:

 

おすすめ

転載: blog.csdn.net/m0_56233309/article/details/123601618
おすすめ