首页 > 代码库 > 框架整合

框架整合

  • 框架整合

Spring MVC+Spring+MyBatis

 

  • 数据库

在互联网行业的项目,尽可能减少表的关联查询,一般使用冗余解决。

表的创建:

CREATE TABLE `tb_content` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`category_id` bigint(20) NOT NULL COMMENT ‘内容类目ID‘,
`title` varchar(200) DEFAULT NULL COMMENT ‘内容标题‘,
`sub_title` varchar(100) DEFAULT NULL COMMENT ‘子标题‘,
`title_desc` varchar(500) DEFAULT NULL COMMENT ‘标题描述‘,
`url` varchar(500) DEFAULT NULL COMMENT ‘链接‘,
`pic` varchar(300) DEFAULT NULL COMMENT ‘图片绝对路径‘,
`pic2` varchar(300) DEFAULT NULL COMMENT ‘图片2‘,
`content` text COMMENT ‘内容‘,
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `category_id` (`category_id`),
KEY `updated` (`updated`)
) ENGINE=InnoDB AUTO_INCREMENT=32 DEFAULT CHARSET=utf8




CREATE TABLE `tb_content_category` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘类目ID‘,
`parent_id` bigint(20) DEFAULT NULL COMMENT ‘父类目ID=0时,代表的是一级的类目‘,
`name` varchar(50) DEFAULT NULL COMMENT ‘分类名称‘,
`status` int(1) DEFAULT ‘1‘ COMMENT ‘状态。可选值:1(正常),2(删除)‘,
`sort_order` int(4) DEFAULT NULL COMMENT ‘排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数‘,
`is_parent` tinyint(1) DEFAULT ‘1‘ COMMENT ‘该类目是否为父类目,1为true,0为false‘,
`created` datetime DEFAULT NULL COMMENT ‘创建时间‘,
`updated` datetime DEFAULT NULL COMMENT ‘创建时间‘,
PRIMARY KEY (`id`),
KEY `parent_id` (`parent_id`,`status`) USING BTREE,
KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=98 DEFAULT CHARSET=utf8 COMMENT=‘内容分类‘




CREATE TABLE `tb_item` (
`id` bigint(20) NOT NULL COMMENT ‘商品id,同时也是商品编号‘,
`title` varchar(100) NOT NULL COMMENT ‘商品标题‘,
`sell_point` varchar(500) DEFAULT NULL COMMENT ‘商品卖点‘,
`price` bigint(20) NOT NULL COMMENT ‘商品价格,单位为:分‘,
`num` int(10) NOT NULL COMMENT ‘库存数量‘,
`barcode` varchar(30) DEFAULT NULL COMMENT ‘商品条形码‘,
`image` varchar(500) DEFAULT NULL COMMENT ‘商品图片‘,
`cid` bigint(10) NOT NULL COMMENT ‘所属类目,叶子类目‘,
`status` tinyint(4) NOT NULL DEFAULT ‘1‘ COMMENT ‘商品状态,1-正常,2-下架,3-删除‘,
`created` datetime NOT NULL COMMENT ‘创建时间‘,
`updated` datetime NOT NULL COMMENT ‘更新时间‘,
PRIMARY KEY (`id`),
KEY `cid` (`cid`),
KEY `status` (`status`),
KEY `updated` (`updated`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘商品表‘




CREATE TABLE `tb_item_cat` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘类目ID‘,
`parent_id` bigint(20) DEFAULT NULL COMMENT ‘父类目ID=0时,代表的是一级的类目‘,
`name` varchar(50) DEFAULT NULL COMMENT ‘类目名称‘,
`status` int(1) DEFAULT ‘1‘ COMMENT ‘状态。可选值:1(正常),2(删除)‘,
`sort_order` int(4) DEFAULT NULL COMMENT ‘排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数‘,
`is_parent` tinyint(1) DEFAULT ‘1‘ COMMENT ‘该类目是否为父类目,1为true,0为false‘,
`created` datetime DEFAULT NULL COMMENT ‘创建时间‘,
`updated` datetime DEFAULT NULL COMMENT ‘创建时间‘,
PRIMARY KEY (`id`),
KEY `parent_id` (`parent_id`,`status`) USING BTREE,
KEY `sort_order` (`sort_order`)
) ENGINE=InnoDB AUTO_INCREMENT=1183 DEFAULT CHARSET=utf8 COMMENT=‘商品类目‘




CREATE TABLE `tb_item_desc` (
`item_id` bigint(20) NOT NULL COMMENT ‘商品ID‘,
`item_desc` text COMMENT ‘商品描述‘,
`created` datetime DEFAULT NULL COMMENT ‘创建时间‘,
`updated` datetime DEFAULT NULL COMMENT ‘更新时间‘,
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT=‘商品描述表‘




CREATE TABLE `tb_item_param` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`item_cat_id` bigint(20) DEFAULT NULL COMMENT ‘商品类目ID‘,
`param_data` text COMMENT ‘参数数据,格式为json格式‘,
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `item_cat_id` (`item_cat_id`)
) ENGINE=InnoDB AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT=‘商品规则参数‘




CREATE TABLE `tb_item_param_item` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`item_id` bigint(20) DEFAULT NULL COMMENT ‘商品ID‘,
`param_data` text COMMENT ‘参数数据,格式为json格式‘,
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `item_id` (`item_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT=‘商品规格和商品的关系表‘




CREATE TABLE `tb_order` (
`order_id` varchar(50) COLLATE utf8_bin NOT NULL DEFAULT ‘‘ COMMENT ‘订单id‘,
`payment` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT ‘实付金额。精确到2位小数;单位:元。如:200.07,表示:200元7分‘,
`payment_type` int(2) DEFAULT NULL COMMENT ‘支付类型,1、在线支付,2、货到付款‘,
`post_fee` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT ‘邮费。精确到2位小数;单位:元。如:200.07,表示:200元7分‘,
`status` int(10) DEFAULT NULL COMMENT ‘状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭‘,
`create_time` datetime DEFAULT NULL COMMENT ‘订单创建时间‘,
`update_time` datetime DEFAULT NULL COMMENT ‘订单更新时间‘,
`payment_time` datetime DEFAULT NULL COMMENT ‘付款时间‘,
`consign_time` datetime DEFAULT NULL COMMENT ‘发货时间‘,
`end_time` datetime DEFAULT NULL COMMENT ‘交易完成时间‘,
`close_time` datetime DEFAULT NULL COMMENT ‘交易关闭时间‘,
`shipping_name` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT ‘物流名称‘,
`shipping_code` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT ‘物流单号‘,
`user_id` bigint(20) DEFAULT NULL COMMENT ‘用户id‘,
`buyer_message` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT ‘买家留言‘,
`buyer_nick` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT ‘买家昵称‘,
`buyer_rate` int(2) DEFAULT NULL COMMENT ‘买家是否已经评价‘,
PRIMARY KEY (`order_id`),
KEY `create_time` (`create_time`),
KEY `buyer_nick` (`buyer_nick`),
KEY `status` (`status`),
KEY `payment_type` (`payment_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin




CREATE TABLE `tb_order_item` (
`id` varchar(20) COLLATE utf8_bin NOT NULL,
`item_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT ‘商品id‘,
`order_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT ‘订单id‘,
`num` int(10) DEFAULT NULL COMMENT ‘商品购买数量‘,
`title` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT ‘商品标题‘,
`price` bigint(50) DEFAULT NULL COMMENT ‘商品单价‘,
`total_fee` bigint(50) DEFAULT NULL COMMENT ‘商品总金额‘,
`pic_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT ‘商品图片地址‘,
PRIMARY KEY (`id`),
KEY `item_id` (`item_id`),
KEY `order_id` (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin




CREATE TABLE `tb_order_shipping` (
`order_id` varchar(50) NOT NULL COMMENT ‘订单ID‘,
`receiver_name` varchar(20) DEFAULT NULL COMMENT ‘收货人全名‘,
`receiver_phone` varchar(20) DEFAULT NULL COMMENT ‘固定电话‘,
`receiver_mobile` varchar(30) DEFAULT NULL COMMENT ‘移动电话‘,
`receiver_state` varchar(10) DEFAULT NULL COMMENT ‘省份‘,
`receiver_city` varchar(10) DEFAULT NULL COMMENT ‘城市‘,
`receiver_district` varchar(20) DEFAULT NULL COMMENT ‘区/县‘,
`receiver_address` varchar(200) DEFAULT NULL COMMENT ‘收货地址,如:xx路xx号‘,
`receiver_zip` varchar(6) DEFAULT NULL COMMENT ‘邮政编码,如:310001‘,
`created` datetime DEFAULT NULL,
`updated` datetime DEFAULT NULL,
PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8




CREATE TABLE `tb_user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`username` varchar(50) NOT NULL COMMENT ‘用户名‘,
`password` varchar(32) NOT NULL COMMENT ‘密码,加密存储‘,
`phone` varchar(20) DEFAULT NULL COMMENT ‘注册手机号‘,
`email` varchar(50) DEFAULT NULL COMMENT ‘注册邮箱‘,
`created` datetime NOT NULL,
`updated` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`) USING BTREE,
UNIQUE KEY `phone` (`phone`) USING BTREE,
UNIQUE KEY `email` (`email`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8 COMMENT=‘用户表‘




数据的初始化太大了,就不贴出来了

 

 

 

  • 逆向工程

使用MyBatis逆向工程,生成出pojo、mapper

注意:再次生成代码的时候,需要将原先的代码删除

 

 

  • SSM

 

框架整合