プロジェクトに取り組んでユーザー テーブルを作成するとき、テーブルの主キー ID を 0 から増やすにはどうすればよいでしょうか?私はオンラインで多くのソリューションを検索し、最終的に確実に実装でき効果的なソリューションを見つけました。以下に実装方法を紹介します
(1) 新しいテーブルを作成し、自動インクリメント ルールを指定します (テーブルの場合)すでに存在します。削除して再度作成してください)
(2) 指定された ID 1 を持つテーブル データをデータベースに挿入します
(3) 次に、ID を指定せずにテーブル データを挿入します。 id content データテーブル、テーブルのidを自動的に増加させる
(4) mybatisPlusを使用してエンティティクラスを作成、生成する場合、データベースのみの増加ルールとしてエンティティクラスのid自己増加ルールを指定します
1. 新しいユーザー テーブルを作成し、自動インクリメント ルールを指定します (テーブルが既に存在する場合は、テーブルを削除して再度作成します)
AUTO_INCREMENT =1、次のルールのみを追加しますテーブル レコード ID は 1
create table if not exists `sys_user` ( `id` bigint(20) not null auto_increment PRIMARY KEY comment '主键' , `opend_id` varchar(256) DEFAULT null comment '微信用户唯一id', `account_number` varchar(256) DEFAULT null comment'账号', `username` varchar(256) not null DEFAULT '' comment '用户名', `password` varchar(256) comment '密码', `nick_name` varchar(256) DEFAULT null comment '昵称', `gender` varchar(25) DEFAULT null comment '性别', `phone` varchar(256) DEFAULT null comment '手机号', `role` varchar(10) default '0' not null comment '角色,0为普通用户,1为会员', `age` varchar(256) not null DEFAULT'110'comment '年龄', `user_status` varchar(25) default '0' not null comment '状态', `update_time` datetime not NULL DEFAULT CURRENT_TIMESTAMP comment '更新时间', `create_time` datetime not NULL DEFAULT CURRENT_TIMESTAMP comment '创建时间', `is_deleted` tinyint default 0 not null comment '是否删除(0-未删, 1-已删)', `email` varchar(256) DEFAULT null comment '邮箱', `avatar` varchar(256) not null DEFAULT 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh5mIHO4nibH0KlMECNjjGxQUq24ZEaG T4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132' comment '头像图片', `city` varchar(50) DEFAULT '北京' comment '城市', `province` varchar(50) DEFAULT null comment '省份', `country` varchar(50) comment '国家' ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 comment '用户表信息';
2 だけ増加します。指定された ID が 1 のテーブル データをデータベース
insert into sys_user values(1,'微信用户唯一id','账号','用户名','mima', '昵称','xb','sjh','js','nl','0',CURRENT_TIMESTAMP,CURRENT_TIMESTAMP, 0,'邮箱','头像图片','城市','省份','国家')
3 のテーブルに挿入します。 ID コンテンツを指定せずにデータ テーブルを挿入します。テーブルの ID は自動的に増加します
insert into sys_user(username,password,country) values('dscdc','8979777','中国');
これら 3 つの手順の後、navicat を開いてデータベースの sys_user テーブルのレコードを表示します
、生成されたテーブル ID が 1 だけ増加するルールに従って増加していることがわかります。
最後に、Java エンティティ クラスの id フィールドにアノテーションを追加するだけで済みます。これは、新しいテーブルを追加するときに、mybatisplus がデータベース テーブル設計の唯一の増加ルールに従ってのみ ID を増加できることを規定することです。注釈は @TableId(value ="id",type = IdType.AUTO)
@TableId 注釈 mybatis-plus
@TableId( value="xxx", type = IdType.xxx):
"value": データベースフィールドの値を設定します
"type": 主キーのタイプを設定します。主キーは自動インクリメントに設定されているため、「AUTO」を使用することをお勧めします
@TableId(value ="id",type = IdType.AUTO)
エンティティ クラスの完全な Java コードを以下に示します。この時点で、テーブル ID を作成する関数も実装しました。自動増分ルールに従って増分できます
@Data @AllArgsConstructor @NoArgsConstructor @TableName("sys_user") public class SysUser { // type = IdType.AUTO id按照数据库里设置的只增规则自己增加 @TableId(value ="id",type = IdType.AUTO) private Long id; //用户名 private String username; //账号 private String accountNumber; //密码 private String password; //昵称 private String nickName; //手机号 private String phone; //角色 private String role; //年龄 private String age; //状态 private String userStatus; //更新时间 private Date updateTime; //创建时间 private Date createTime; //是否删除(0-未删, 1-已删) private Integer isDeleted; //邮箱 private String email; //头像图片 private String avatar; private String gender; private String city; private String province; private String country; private String opendId; }
以上がmysqlでテーブルを作成し、テーブルの主キーIDを1から増加するように設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。