首页 > 学院 > 开发设计 > 正文

mybatis 多对多

2019-11-11 02:17:25
字体:
来源:转载
供稿:网友

参考文章:http://feiyeguohai.iteye.com/blog/1180898/

多对多可以看做是两个一对多;

多对多关系需要三张表, 用户表(user), 组表(group), 用户,组关联表(user_group),

其中user和user_group是一对多关系, group和user_group是一对多关系。 

CREATE TABLE `user` (  `id` int(11) NOT NULL auto_increment,  `name` varchar(40) collate utf8_unicode_ci default NULL,  `passWord` varchar(20) collate utf8_unicode_ci default NULL,  `createtime` timestamp NULL default CURRENT_TIMESTAMP,  PRIMARY KEY  (`id`)) CREATE TABLE `group` (  `id` int(11) NOT NULL auto_increment,  `name` varchar(40) collate utf8_unicode_ci default NULL,  `createdate` timestamp NULL default CURRENT_TIMESTAMP,  `state` int(1) default '0' COMMENT '0:可见;1:不可见',  PRIMARY KEY  (`id`))CREATE TABLE `user_group` (  `user_id` int(11) default NULL,  `group_id` int(11) default NULL,  `createdate` timestamp NULL default CURRENT_TIMESTAMP,  KEY `FK_user_group_user_id` (`user_id`),  KEY `FK_user_group_group_id` (`group_id`),  CONSTRAINT `FK_user_group_group_id` FOREIGN KEY (`group_id`) REFERENCES `group` (`id`),  CONSTRAINT `FK_user_group_user_id` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)) 

添加用户并指定所属组:

先添加单个实体数据(user, group),在添加关联关系的数据(user_group);

删除组:

先删除关联关系(user_group),在删除组信息

修改组的可见性(同删除组一样,对user来说都是不可见的):

删除所有的关联关系

查询:直接使用一对多的查询方式即可


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表