微搭低代码有关联表的查询和新增等

先放上官方文档链接



数据模型V2 API (FlexDB环境) | 云开发 CloudBase - 一站式后端云服务

最开始我并没有搞明白,到底是什么意思,后面看了一下查询出来的数组,才知道,查询表中和另一张关联表关联的字段存储的是数据标识。


我也是才自学,可能我的理解或者表达会存在问题,但是目前我是这样理解的。

举个例子,如果想通过用户的id查询该用户的所有借阅信息:

借阅表(查询表)为:

用户表(关联表)为:

        若查询用户id为1003的借阅信息,首先要先拿到自己用户表中该用户对应的数据标识,即拿到上图中点“展开系统字段”中的 "_id",如用户id为1003的数据标识为下图数据,看不完全可以点击操作列表中的查看,看到完整的数据标识

### 基于SpringBootMyBatisPlus实现博客功能的详细步骤 以下是基于SpringBootMyBatisPlus实现发布博客、点赞、评论、收藏以及统计浏览量点赞数等功能的具体方法: #### 1. 技术栈选型 该项目的技术栈可以参考《黑马头条》项目中的技术架构[^1],即使用SpringBoot作为核心框架,配MyBatisPlus简化数据库操作。 - **SpringBoot**: 提供快速构建服务的基础支持。 - **MyBatisPlus**: 对MyBatis的功能增强,减少重复代码,提升开发效率。 - **MySQL**: 存储博客数据及相关用户信息[^3]。 --- #### 2. 数据库设计 根据需求分析,需设计以下几个主要表及其关联关系: ##### (1) 用户表 (`user`) | 字段名 | 类型 | 描述 | |--------------|--------------|----------------| | id | BIGINT | 主键 | | username | VARCHAR(50) | 用户名 | | password | VARCHAR(100) | 密码(加密后)| ##### (2) 博客表 (`blog`) | 字段名 | 类型 | 描述 | |--------------|--------------|------------------| | id | BIGINT | 主键 | | title | VARCHAR(200) | 标题 | | content | TEXT | 文章内容 | | user_id | BIGINT | 创建者ID | | view_count | INT | 浏览次数 | | like_count | INT | 点赞数量 | ##### (3) 点赞记录表 (`like_record`) | 字段名 | 类型 | 描述 | |--------------|--------------|--------------------| | id | BIGINT | 主键 | | blog_id | BIGINT | 被点赞的博客ID | | user_id | BIGINT | 点赞用户的ID | ##### (4) 收藏记录表 (`favorite_record`) | 字段名 | 类型 | 描述 | |--------------|--------------|--------------------| | id | BIGINT | 主键 | | blog_id | BIGINT | 被收藏的博客ID | | user_id | BIGINT | 收藏者的ID | ##### (5) 评论表 (`comment`) | 字段名 | 类型 | 描述 | |--------------|--------------|----------------------| | id | BIGINT | 主键 | | blog_id | BIGINT | 所属博客ID | | user_id | BIGINT | 评论者的ID | | content | TEXT | 评论内容 | | parent_id | BIGINT | 上级评论ID(用于回复)| 以上表格的设计遵循了良好的规范化原则,确保数据一致性并便于扩展。 --- #### 3. 功能模块实现 ##### (1) 发布博客 通过`BlogService`接口完成新增博客逻辑: ```java @Service public class BlogServiceImpl implements BlogService { @Autowired private BlogMapper blogMapper; public void publish(Blog blog, Long userId) { blog.setUserId(userId); // 设置作者ID blog.setViewCount(0); // 初始化浏览量为0 blog.setLikeCount(0); // 初始化点赞数为0 blogMapper.insert(blog); } } ``` ##### (2) 点赞功能 更新点赞状态,并同步修改`like_count`字段: ```java @Transactional public boolean toggleLike(Long blogId, Long userId) { LikeRecord record = likeRecordMapper.selectByBlogAndUser(blogId, userId); if (record != null) { // 取消点赞 likeRecordMapper.delete(record.getId()); blogMapper.decreaseLikeCount(blogId); return false; } else { // 添加点赞 LikeRecord newRecord = new LikeRecord(); newRecord.setBlogId(blogId).setUserId(userId); likeRecordMapper.insert(newRecord); blogMapper.increaseLikeCount(blogId); return true; } } ``` ##### (3) 评论功能 允许用户发表评论或回复其他评论: ```java public Comment addComment(Comment comment) { if (comment.getParentId() == null || comment.getParentId().equals(0L)) { comment.setType("root"); // 根评论 } else { comment.setType("reply"); // 回复 } commentMapper.insert(comment); return comment; } ``` ##### (4) 收藏功能 类似于点赞功能,只需维护一张独立的收藏记录表即可。 ##### (5) 浏览量统计 每次访问博客详情页时增加一次浏览量: ```java public Blog getDetailById(Long id) { Blog blog = blogMapper.selectById(id); if (blog != null) { blogMapper.increaseViewCount(id); } return blog; } ``` --- #### 4. 配置优化 为了提高性能,在实际部署中可考虑以下几点: - 使用Redis缓存热门博客的数据以减轻数据库压力。 - 结合Nginx设置静态资源加载路径,加速页面渲染速度。 --- #### 5. 后台管理端 如果需要提供给管理员使用的后台,则按照描述应具备用户管理文章审核等功能[^2]。可以通过前端Vue.js结合Element UI快速建响应式界面;而后端继续沿用现有的RESTful API风格对外暴露接口。 --- ###
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值