SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】

我未曾见过一个早起、勤奋、谨慎、诚实的人抱怨命运不好。良好的品格,优良的习惯,坚强的意志,是不会被假设所谓的命运打败的。

mycat的bin目录下执行startup_nowrap,启动后,连接如图:

SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第1张图片


SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第2张图片


物理数据库中的数据

SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第3张图片

建表sql:

DROP TABLE IF EXISTS `sam_test`;
CREATE TABLE `sam_test` (
  `id_` int(11) NOT NULL AUTO_INCREMENT,
  `name_` varchar(100) DEFAULT NULL,
  `user_id` bigint(20) DEFAULT NULL,
  PRIMARY KEY (`id_`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of sam_test
-- ----------------------------
INSERT INTO `sam_test` VALUES ('1', 'QQ', '123456789');
INSERT INTO `sam_test` VALUES ('2', 'LI', '12333333333333');

逻辑数据库中的数据

SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第4张图片

项目运行:

list列表:

由于分库的数据不一致,但mycat针对全局表的查询,只会分发到某一个节点上,所以刷新页面,数据会出现两种情况
SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第5张图片
刷新几次,会出现:
SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第6张图片

增加数据

SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第7张图片
执行sql
SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第8张图片
刷新结果,增加的数据会到每个分库
SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第9张图片

更新数据

SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第10张图片
执行sql
这里写图片描述
结果,数据库不一致,数据无法更新所有分库数据,问题十分严重,建议生产环境一般用mycat全局自增序列号,此处不作演示
SpringMVC,Mybatis,FreeMarker连接mycat示例(七)【完】_第11张图片

结束

你可能感兴趣的:(JAVA,Tomcat服务器,Mycat中间件)