当前使用版本(必填,否则不予处理)

<dependency> 

    <groupId>com.baomidou</groupId>

    <artifactId>mybatis-plus-boot-starter</artifactId>

    <version>3.5.3.1</version>

</dependency>

该问题是如何引起的?(确定最新版也有问题再提!!!)

数据库语句:

DROP TABLE IF EXISTS `user`;

CREATE TABLE `user` (

  `id` int NOT NULL AUTO_INCREMENT,

  `username` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,

  `password` varchar(32) DEFAULT NULL,

  `countSize` varchar(20) DEFAULT '0.0B',

  `totalSize` varchar(20) DEFAULT '10.0GB',

  PRIMARY KEY (`id`,`username`)

) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb3;

生成代码

  • ```java

package com.example.sb001.model;

import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import lombok.Data;

/**

*

* @TableName user
  */
   @TableName(value ="user")
   @Data
   public class User implements Serializable {
  /**

   * */
      @TableId(type = IdType.AUTO)
      private Integer id;

  /**

   * */
      @TableId
      private String username;

  /**

   * */
      private String password;

  /**

   * */
      private String countsize;

  /**

   * */
      private String totalsize;

  @TableField(exist = false)
  private static final long serialVersionUID = 1L;
   }

```

`

去除@TableID即不报错

chatgpt:

在 User 类中,@TableId 注解用于定义主键,但是被用在了 username 字段上,这是不正确的。联合主键应该通过 @TableId 和 @TableField 同时指定,

重现步骤(如果有就写完整)

报错信息

Comment From: miemieYaho

不支持联合主键