栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mybatis @select动态sql(mybatis的choose when)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mybatis @select动态sql(mybatis的choose when)

一. 概述:

Mybatis:

实现用户及其地址的信息查询。

(1)用户与地址是一对多的关系,需要对其进行一对多实体的关联配置

(2)分别使用XML和注解两种方式实现

 说明:数据库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 addresses;

    public List getAddresses() {
        return addresses;
    }

    public void setAddresses(List 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

    删除了两个mapper配置文件,其他代码没有改:    

    测试:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号