1. 前言
在开发Web应用的过程中,我们经常需要记录用户请求的IP地址。一种常见的用途是在用户发表评论时记录评论内容以及评论所处的省份,从而实现精准的地域分析,以及对恶意评论的过滤等功能。本篇博文将介绍如何使用SpringBoot和Mybatis-plus实现评论自带IP功能,并采用Vue作为前端框架。
2. 技术栈
- SpringBoot
- Mybatis-plus
- Vue
3. 开发流程
3.1 数据库设计
首先我们需要设计数据库表结构来保存评论和IP地址数据。假设我们的应用将支持全国31个省份的用户,我们可以设计一个名为comment
的表,该表的字段如下:
CREATE TABLE `comment` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL COMMENT '评论者id',
`content` varchar(255) NOT NULL COMMENT '评论内容',
`province_code` varchar(32) NOT NULL COMMENT '省份编码',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '评论时间',
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='用户评论表';
其中,user_id
字段是评论者的ID,content
字段是评论内容,province_code
字段是省份编码,create_time
字段是评论时间。
为了保存省份编码和省份名称的对应关系,我们可以设计一个名为province
的表,该表的字段如下:
CREATE TABLE `province` (
`province_id` int(11) NOT NULL AUTO_INCREMENT,
`province_name` varchar(32) NOT NULL COMMENT '省份名称',
`province_code` varchar(32) NOT NULL COMMENT '省份编码',
PRIMARY KEY (`province_id`)
) ENGINE=InnoDB AUTO_INCREMENT