您正在查看归档 2019年 下的文章

mybatis使用collection标签进行树形结构数据查询时如何携带外部参数查询

作者: StoneWu  |  时间: 2019-11-01 16:36:06  |  
分类: JAVA开发  |  0 条评论  |  713 次浏览

1、背景

最近更新博客的评论功能,想实现这么一个需求:

评论使用树形结构展示,评论提交后,需要后台审核后才展示到前台,但是用户自己可以显示自己提交的未审核的评论,效果如下:

上面的审核中的评论是当前用户发的,下面的是其他用户发的审核通过的

2、实施

最初的实现方法是想使用collection进行树形结构查询

为了实现树形查询,需要两个resultMap,一个为最外层的查询结果,另一个是集合里的查询结果,也就是对象中的children对应的List,因为是树形结构,所以外层和里层的结构基本一样,下方代码为两个resultMap代码(示例):

JAVA使用腾讯企业邮箱发送邮件时报错Could not connect to SMTP host

作者: StoneWu  |  时间: 2019-11-04 17:40:06  |  
分类: JAVA开发  |  0 条评论  |  1174 次浏览

最近做一个邮件发送功能的时候,发现腾讯企业邮的邮箱,用java发送邮件的时候一直报错:

Mail server connection failed; nested exception is javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1. Failed messages: javax.mail.MessagingException: Could not connect to SMTP host: smtp.exmail.qq.com, port: 465, response: -1

发邮件使用的spring-boot-starter-mail,配置文件如下:

# 设置邮箱主机
spring.mail.host=smtp.exmail.qq.com
spring.mail.port=465
spring.mail.protocol=smtp

# 设置用户名
spring.mail.username=xxxxxx
# 设置密码,是客户端专用密码,非网页登录密码
spring.mail.password=xxxxxx

# true代表邮箱需要认证
spring.mail.properties.mail.smtp.auth=true

#启用SSL
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

查阅各种资料后发现,配置文件应当加入下面的配置:

spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.port=465
spring.mail.properties.mail.smtp.socketFactory.port=465

将这三行加入到配置文件里就可以正常发送邮件了

新版博客上线啦!!

作者: StoneWu  |  时间: 2019-09-19 23:37:22  |  
分类: 开发日记  |  0 条评论  |  301 次浏览

(mō)(yú)了一个月后,新版的博客终于做完了

新版博客把三年前用的spring mvc+spring。。等等一大堆的框架,切换成了更为优雅的spring boot,说是切换,其实就是重写了。。TAT。

原来用起来反人类的后台管理也换成了基于vue+element-ui的前端框架,用起来顺滑多了,感觉自己写文章的动力都变大了呢(并不

而且终于成功注册到了这个新域名stonewu.com,旧域名可能明年就不会再续费了吧哈哈哈哈哈哈哈

博客的前台交互也改善了很多,不过可能没有旧版博客的兼容性好,新版大概只能兼容IE10+了

不过现在还有一些小细节还需要优化下,慢慢来吧。

现在全站上了CDN,是之前阿里云学生认证免费送的20G,俩年前就送了,可惜现在才用上,年底就要到期了,果然人只有失去的时候才懂得珍惜

以后还是得养成写文章的习惯,有的时候好多想法,想分享出来的时候看到旧版的写作界面就没有欲望了。

好了就酱

dmesg命令查看java程序突然挂掉的原因

作者: StoneWu  |  时间: 2019-05-08 10:40:27  |  
分类: 开发日记  |  0 条评论  |  757 次浏览

最近做项目,总是发现项目突然挂掉,但是java的日志又没有显示任何内容。

网上搜索了一波才知道了这个命令

# 按时间格式显示
dmesg -T

# 显示跟java 有关的日志
dmesg -T | grep "(java)"

最终打印的信息如下

[Wed May  8 09:40:57 2019] Out of memory: Kill process 5348 (java) score 125 or sacrifice child
[Wed May  8 09:40:57 2019] Killed process 5348 (java) total-vm:6105560kB, anon-rss:1032792kB, file-rss:0kB, shmem-rss:0kB

看来的确是因为内存不足导致的进程被杀

mongodb用户管理以及连接

作者: StoneWu  |  时间: 2019-01-25 11:08:11  |  
分类: linux学习  |  0 条评论  |  297 次浏览
#使用帐户名连接
mongo -u 用户名 -p 密码 --host 数据库地址

#创建账户

# 创建超级管理员,角色:root
db.createUser({user:"用户名",pwd:"密码",roles:["root"]})

# 创建账户管理员
db.createUser({user:"用户名",pwd:"密码",roles:["userAdminAnyDatabase"]})

# 创建名为test的数据库拥有者账户
# 先切换到需要创建的数据库
use test
db.createUser({user:"用户名",pwd:"密码",roles:[{role:"dbOwner",db:"test"}]})


#查看用户
show users

#删除单个用户
db.system.users.remove({user:"用户名"})


# 创建数据库
use 数据库名
# 如果不存在该数据库,就会创建一个