点进博客的文章,能看到的内容
id都没有获取到
vo类中id类型写错了,应该是Long,写成了String。
使用线程池,更新阅读数
评论列表
ms_comment
两级:对文章的评论 对评论的评论(children) 再往下没了,第一层 toUser为null,第二层toUser为第一层的人
mybatisPlus-extends BaseMapper
pojo 不用
通过mapper 以后使用mapper 多了它的增删改查方法
评论
评论就是把文字保存一下,但是评论一定要当前用户登录,所以要添加到登录拦截器中(在WebMVCConfig中)
在controller中写了请求以后:
点击评论,会显示未登录:
写好相应方法后,评论成功,但是需要刷新一次才显示,这是前端没弄好。
因为id用的是分布式id,很长 数据库中要把int变成bigint。
注意:bug
因为用的是分布式id,太长了,传到前端时解析不了,导致精度损失。值就不太对了。
解决:在CommentVo的Long上序列化,把id转成String 就不会精度损失。
成功二级评论
数据库中 对啊 的 parent_id 对应上了 此言得之的 id,没发生精度损失。
写文章
核心功能
点击进入编辑页面
写文章需要 三个接口:
- 获取所有文章类别——文章分类
- 获取所有标签——文章标签
- 发布文章
没有查询条件的,直接在select的括号里new一个LambdaQueryWrapper就可以了。
小问题解答:
刚写完的文章还没有对应的id,通过insert插入后,就可以生成文章id了。且,不需要查询语句去获得id,因为ybatis提供了两种insert方法,可以直接返回主键。
只需在实体类中有主键的get、set方法,在impl或controller层直接调用xx.getId(),即可获得本次插入的主键并返回。
因此,下面方法可以得到articleId。
普通的set方法设置,使用pojo对象。
对pojo的增删改查使用其对应的xxmapper。
AOP日志(技术亮点)
通过日志看参数,知道错哪里
不改变原有方法:用AOP
需求:对文章的列表 记日志
所有注解都加了以下三个注解:(所以创建自己的注解就要copy过来)
用到了AspectJ、fastjson
文章图片上传
markdown的图片访问路径像这样,是本地的目录,网络上访问不了。
所以要有上传图片的功能
字节数组上传 去 七牛云里找 https://developer.qiniu.com/kodo/1239/java
账号密码:
存储空间名字bucket:cbmszlu
测试域名:
qx79dhjxp.hd-bkt.clouddn.com
视频老师的已经有一个自己的备案了:(我没有,就用测试域名)
修改url代码:
自己配置accessKey和accessSecretKey:(需要七牛账号下的一对,类似账号密码)
我的密钥:配置到配置文件中
AK:ibWuIjQmte-TguK6kkK2sy3ijC5_O0vuckAhmuPD
SK:kvJCoO25Mub-f32J9phjFfJl7bpcDXNx3tLIr-yc
Region对象选择华东