实验室的项目,需要做对用户发布的主题进行打标签的功能,纠结甚久,实现思路如下: 一、数据库表的设计 1.tag表 create table qa_tag(tag_id int primary key auto_increment,tag_name varchar(32) not null,tag_time timestamp not null default CURRENT_T
实验室的项目,需要做对用户发布的主题进行打标签的功能,纠结甚久,实现思路如下:
一、数据库表的设计
1.tag表
create table qa_tag ( tag_id int primary key auto_increment, tag_name varchar(32) not null, tag_time timestamp not null default CURRENT_TIMESTAMP, refered_cnt int not null default 0, user_id int not null, unique (tag_name), constraint foreign key (user_id) references user_info(user_id) ); 2.topic表
create table qa_topic ( topic_id int primary key auto_increment, topic_title varchar(128) not null, topic_body text not null, topic_time timestamp not null default CURRENT_TIMESTAMP, user_id int not null, tags varchar(128) not null default '' );
create table qa_tag_topic
(
record_id int primary key auto_increment,
tag_id int not null,
topic_id int not null,
constraint foreign key (tag_id) references qa_tag(tag_id),
constraint foreign key (topic_id) references qa_topic(topic_id)
);
1.用户创建主题时,给自己发布的主题打上了几个标签,点击提交
传统驾校预约方式步骤繁琐,效率低下,随着移动互联网科技和5G的革新,驾校考试领域迫切需要更加简洁、高效的预约方式,便捷人们的生活。因此设计基于微信小程序的驾校预约系统,改进传统驾校预约方式,实现高效的驾校学校预约。 采用腾讯提供的小程序云开发解决方案,无须服务器和域名。驾校预约管理:开始/截止时间/人数均可灵活设置,可以自定义客户预约填写的数据项驾校预约凭证:支持线下到场后校验签到/核销/二维码自
0
2.后台接受参数后,先把数据插入到qa_topic表中,获得了topicId;
3.把用户输入的标签转成数组,批量插入到数据库中,sql代码如下:
<insert id="insertTags" parameterType="java.util.List">
insert into qa_tag(tag_name,user_id) values
<foreach collection="list" item="o" index="index" separator=",">
(#{o.tagName},#{o.userId})
</foreach>
ON DUPLICATE KEY UPDATE refered_cnt = refered_cnt + 1;//如果有重复,则把tag的被引用数目+1
alter table qa_tag auto_increment = 1//保证tagId的连续性
</insert>
insert ignore into qa_tag_topic(tag_id,topic_id) values
(#{o.tagId},#{o.topicId})
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号