1. CRUD
1.1 delete
1.1.1 deleteById 根据主键ID删除,不管主键名称是不是id
即使数据库主键不是id也能删除,比如我的数据库主键是:user_id
int deleteById(Serializable id);
1.2 insert
用mybatisPlus生成的实体类其实是和数据库的名称相同的,只是把下划线换成了大写
如果你改变了实体类的名称,比如原本数据库的表名称是repository_data 生成的实体类是RepositoryData
但是你把实体类改成了Repository,这个时候用原本的insert方法就会报错
怎么办呢?在实体类上添加一个注解就好了,同时注意把你的XML里面的也要改了
@TableName("repository_data")
public class Repository extends Model<Repository> {
}
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="xxxxx.RepositoryData">
</resultMap>
插入操作自动把主键设置到了对象了,insert方法没用插入的字段sql语句并不会插入
2. 实体类注解
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "UserData对象", description = "")
public class UserData extends Model<UserData> {
private static final long serialVersionUID = -8593694456042317006L;
@ApiModelProperty(value = "用户主键")
@TableId(value = "user_id", type = IdType.UUID)
private String userId;
}
2.1 @TableId
当数据库字段不上id的时候要指定,比如下面的一定要指定
@TableId(value = "user_id", type = IdType.UUID)
private String userId;
下面的的不需要指定
@TableId( type = IdType.UUID)
private String id;
主键生成策略,我的主键都是UUID,所以是这个type = IdType.UUID
如果你的主键是自增的化就是默认的type = IdType.AUTO