Mybatis-Plus|Mybatis-Plus 如何实现一对多关系 举例 用户与角色

Mybatis-Plus 一对多Mybatis-Plus 不写一句sql语句实现一对多 首先来看效果
Mybatis-Plus|Mybatis-Plus 如何实现一对多关系 举例 用户与角色
文章图片

Mysql数据库 用户表
角色表
用户与角色的中间表
中间表如下
Mybatis-Plus|Mybatis-Plus 如何实现一对多关系 举例 用户与角色
文章图片

将三张表通过Mybatis Plus 的代码生成器生成到目录下
Pojo 在User的Pojo 添加List

package com.zcx.pojo; import com.baomidou.mybatisplus.annotation.*; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigInteger; import java.util.Date; import java.util.List; /** * @author zhaochangxin * @date 2022/3/2 14:34 */ // 生成getAndSet方法 @Data // 有参 @AllArgsConstructor // 无参 @NoArgsConstructor @TableName("platform_usertest") public class User implements Serializable { // 默认自增字段 @TableId(type = IdType.ASSIGN_ID) private Long id; // 用户名 private String username; // 密码 private String password; // 状态 private int status; // 创建者 @TableField("created_by") private BigInteger createdBy; // 创建时间 @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") // 字段添加填充内容 @TableField(value = "https://www.it610.com/article/created_date", fill = FieldFill.INSERT) private Date createdDate; // 最后修改者 @TableField("last_modified_by") private BigInteger lastModifiedBy; // 最后修改时间 @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") // 字段添加填充内容 @TableField(value = "https://www.it610.com/article/last_modified", fill = FieldFill.INSERT_UPDATE) private Date lastModified; // 所有者 private String owner; // 乐观锁 @Version private Integer version; // 逻辑删除 @TableLogic private Integer deleted; // 权限 @TableField(exist = false) private List roles; }

IuserService
package com.zcx.service; import com.baomidou.mybatisplus.extension.service.IService; import com.zcx.pojo.User; import java.util.List; /** * @author zhaochangxin * @Title: IUserService * @Package com.zcx.service * @Description: IUserService * @date 2022/3/30 17:21 */ public interface IUserService extends IService { List queryAllUser(); }

在ServiceImpl 实现该接口方法
package com.zcx.pojo; import com.baomidou.mybatisplus.annotation.*; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; import java.math.BigInteger; import java.util.Date; import java.util.List; /** * @author zhaochangxin * @date 2022/3/2 14:34 */ // 生成getAndSet方法 @Data // 有参 @AllArgsConstructor // 无参 @NoArgsConstructor @TableName("platform_usertest") public class User implements Serializable { // 默认自增字段 @TableId(type = IdType.ASSIGN_ID) private Long id; // 用户名 private String username; // 密码 private String password; // 状态 private int status; // 创建者 @TableField("created_by") private BigInteger createdBy; // 创建时间 @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") // 字段添加填充内容 @TableField(value = "https://www.it610.com/article/created_date", fill = FieldFill.INSERT) private Date createdDate; // 最后修改者 @TableField("last_modified_by") private BigInteger lastModifiedBy; // 最后修改时间 @DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss") // 字段添加填充内容 @TableField(value = "https://www.it610.com/article/last_modified", fill = FieldFill.INSERT_UPDATE) private Date lastModified; // 所有者 private String owner; // 乐观锁 @Version private Integer version; // 逻辑删除 @TableLogic private Integer deleted; // 权限 @TableField(exist = false) private List roles; }

【Mybatis-Plus|Mybatis-Plus 如何实现一对多关系 举例 用户与角色】有问题或更好的办法请留言告知,谢谢您的观看。

    推荐阅读