基于注解:一对多

1.建立User表,引入Account

package domain;

import java.io.Serializable;
import java.util.List;

public class User implements Serializable {

    private String USERname;
    private String useraddress;
    private String usersex;
    private String birthday;
    private Integer userid;

    public List<Account> getAccount() {
        return account;
    }

    public void setAccount(List<Account> account) {
        this.account = account;
    }

    private List<Account> account;
    public String getUSERname() {
        return USERname;
    }

    public void setUSERname(String USERname) {
        this.USERname = USERname;
    }

    public String getUseraddress() {
        return useraddress;
    }

    public void setUseraddress(String useraddress) {
        this.useraddress = useraddress;
    }

    public String getUsersex() {
        return usersex;
    }

    public void setUsersex(String usersex) {
        this.usersex = usersex;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public Integer getUserid() {
        return userid;
    }

    public void setUserid(Integer userid) {
        this.userid = userid;
    }

    @Override
    public String toString() {
        return "User{" +
                "USERname='" + USERname + '\'' +
                ", useraddress='" + useraddress + '\'' +
                ", usersex='" + usersex + '\'' +
                ", birthday='" + birthday + '\'' +
                ", userid=" + userid +
                ", account=" + account +
                '}';
    }
}

2.接口配置:

package dao;

import domain.User;
import org.apache.ibatis.annotations.*;
import org.apache.ibatis.mapping.FetchType;

import java.util.List;

public interface IUserDao {

    //查询所有
    @Select("select* from user")
    @Results(id="userMap",value = {
            @Result(id=true, column="id", property="userid"),
            @Result(column = "username" ,property="USERname"),
            @Result(column = "sex" ,property="usersex"),
            @Result(column = "address", property="useraddress"),
            @Result(property = "account", column ="id",many=@Many(select = "dao.IAccountDao.findById",fetchType =
        FetchType.LAZY) )

    })
    List<User> findAll();


    @Select("select* from user where id=#{id}")
    @ResultMap("userMap")
    User findById(Integer id);
    @ResultMap("userMap")
    @Select("select* from user where username like #{username}")
    List<User> findByName(String name);





}

3.测试即可

注意:(核心)
实际上与多对一相反而已,对照即可
@Result(property = “account”, column =“id”,many=@Many(select = “dao.IAccountDao.findById”,fetchType =
FetchType.LAZY) )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值