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

springboot+mybatis实现一对一,一对多

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

springboot+mybatis实现一对一,一对多

文章目录
  • 一对一
    • 数据库表
    • 实体类
    • 对应的xml
    • 对应的controller
  • 一对多
    • 数据库表
    • 实体类
    • 对应dao层
    • 对应xml
    • 对应controller
    • postman调用

一对一

准备工作

数据库表
DROp TABLE IF EXISTS `account`;
CREATE TABLE `account` (
  `id` varchar(100) DEFAULT NULL,
  `uid` varchar(100) DEFAULT NULL,
  `money` decimal(10,0) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `account` VALUES ('1','41',10000),('2','42',20000),('3','43',30000);

DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` varchar(100) DEFAULT NULL,
  `user_name` varchar(100) DEFAULT NULL,
  `birthday` date DEFAULT NULL COMMENT '生日',
  `sex` varchar(100) DEFAULT NULL,
  `address` varchar(100) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

INSERT INTO `user` VALUES ('41','小王','2022-02-27','男','河南'),('42','小李','2021-07-01','女','江苏'),('43','小红','2019-08-01','女','湖北');
实体类

Account.java

package com.jack.springbootmybatis.pojo;

import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

public class Account {
    
    private String id;
    
    private String userName;
    
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    
    private String sex;
    
    private String address;

    private User user;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getBirthday() {
        return birthday;
    }

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

    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 User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    @Override
    public String toString() {
        return "Account{" +
                "id='" + id + ''' +
                ", userName='" + userName + ''' +
                ", birthday=" + birthday +
                ", sex='" + sex + ''' +
                ", address='" + address + ''' +
                ", user=" + user +
                '}';
    }
}

User.java

package com.geekmice.onetomany.bo;

import java.util.Date;

public class User {
    
    private String id;
    
    private String userName;
    
    private Date birthday;
    
    private String sex;
    
    private String address;

    private Account account;

    public Account getAccount() {
        return account;
    }

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

    @Override
    public String toString() {
        return "User{" +
                "id='" + id + ''' +
                ", userName='" + userName + ''' +
                ", birthday=" + birthday +
                ", sex='" + sex + ''' +
                ", address='" + address + ''' +
                ", account=" + account +
                '}';
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getBirthday() {
        return birthday;
    }

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

    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;
    }

}

对应的xml

AccountToUserMapper.xml




    
        
        
        
        
        
        
            
            
        
    
    
        SELECT
            b.id bId,
            a.id aId,
            a.name stuName,
            b.name teaName
        FROM
            tmp_student a
        LEFT JOIN tmp_teacher b
        ON
            a.t_id = b.id
            where   b.name = '刘老师'





    

对应controller
package com.geekmice.onetomany.controller;

import com.geekmice.onetomany.bo.TmpTeacher;
import com.geekmice.onetomany.dao.ITeacherStudentDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class TeacherStudentController {
    @Autowired
    private ITeacherStudentDao iTeacherStudentDao;

    @GetMapping("/getTeacherInfo")
    public TmpTeacher getTeacherInfo() {
        return iTeacherStudentDao.getTeacherInfo();
    }
}

postman调用

参考博客

1.mybatis一对多&&多对一处理

2.MyBatis 实现一对多有几种方式,怎么操作的?

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

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

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