在之前的使用 Docker 运行 MySQL 服务的这篇文章中,有个问题没有描述清楚,这里我纠正下当时的说法,并且详细解释下缘由。
当时我做的测试是在 macOS 系统下完成的,当时使用 Docker 启动服务的时候报错了,报错信息如下:
在之前的使用 Docker 运行 MySQL 服务的这篇文章中,有个问题没有描述清楚,这里我纠正下当时的说法,并且详细解释下缘由。
当时我做的测试是在 macOS 系统下完成的,当时使用 Docker 启动服务的时候报错了,报错信息如下:
在上一篇文章中我们谈到了数据库批量插入,如果你已经亲自实践过了的话你会发现有个问题,就是我们在第一次执行完测试之后,再次执行的话会报错,除非你删掉数据库中的数据再执行。
那是因为 activity_stats 表中 activity_id 是表的主键,第二次执行的话就会因为主键重复而报错了,当然你也可以选择去掉这个主键的限制来进行测试。
项目中有时候我们会遇到 excel 导入的需求, excle 文件的每一行记录对应的可能都是数据库中的一条记录,一个 excel 中可能有很多行,所以导入一个 excel 就意味着 excel 里面有多少行,我们就要插入多少条记录。如果我们采用一条一条记录插入的方式,毫无疑问,这可能要执行很久。
上一篇文章中提到了 JdbcTemplate 的 queryForObject 方法在使用时需要注意的地方,其实这里还有一个地方也是我们在使用时容易忽略的,为了避免踩坑,这里我也一并提出来。
同样的,继续用活动的状态表来举例,在上次的例子中我们是通过活动 id 查询活动的浏览量这一列数据,但是如果我们想要一并查出活动的浏览量,作品数和用户数。先让我们同样使用 queryForObject 方法,然后把 SQL 改成查询所有列的数据,返回类型改成实体类。
我们应该都使用过 JdbcTemplate 来查询数据库,一般用在配置了多数据源的情况下,在一个服务里面需要简单查询多个数据库的数据,这时通过 JdbcTemplate 来构建 SQL 查询数据库往往比较方便快捷些,不需要用封装的 repository 那一套东西。
举一个简单的例子,比如查询一个活动的浏览量。
对于 MySQL 数据库,我们基本上都用得到,在工作上有些情况下不太想连云上的库,比如说网络比较慢,或者我们只是刚开始开发,还没来得及在云上建立数据库,这时候在本地跑一下 MySQL 服务也许比较方便,但是呢 MySQL 安装下来占的内存还是比较大的,像我们不是经常连本地的库开发的在本地电脑安装一个 MySQL 确实有点浪费空间了,再加上可能本来笔记本电脑内存就不是非常富余的情况下再去安装,实在是有些肉疼。
作为程序员来说,养成写博客的习惯真的是一件值得去做的事,尽管刚开始可能没有那么高质量的知识输出,但是不是有这样一句话吗?「知识的输入应转化为输出」,也就是说你应该把你所学到的都转化为输出,只有这样你才能更好的掌握你所学的知识,并且在这个过程中你也会对你所学的知识点进行很好的补充。既然要写博文,是不是刚开始就随便写写呢?当然不是,一篇排版好内容不是很好的博文相比于内容好排版很乱的博文能够让人更乐于看下去,尤其是那些对代码有洁癖的程序员我相信你更看不下去,那么以下便是我极力推荐的博客排版指南:
正则表达式,听起来就很高大上,用起来其实挺复杂的,毕竟人家也算是一门语言,但我们在日常开发中如果会一点正则,你会发现有意想不到的效果,对我们开发的效率还是有一定的提高的。刚开始我一直想学习一下一些简单的正则,但每次看完一些资料当时好像明白怎么回事了,但过一段时间没用又忘了,其实说到底就是自己就根本没掌握好,加上又没去实践,当时理解了,长时间不用自然就忘了。所以说学到的知识需要用起来,这样才能加深理解,也不容易忘记。下面主要说一下正则表达式的简单运用,更加高深的正则可能需要花好些时间去系统的学习一番。
首先说一下我对 zookeeper
的学习,在刚开始听的时候觉得很高大上,但又觉得很陌生,也不知道是干嘛的,然后就网上查各种资料开始慢慢对 zookeeper
好像有点感觉了,又好像还是似懂非懂的样子,然后还看到网上都在告诉我们 zookeeper
的安装以及 zookeeper
集群的搭建,又尝试着去搭建了一遍。到最后还是有点晕乎乎的样子,总觉得好像不是很理解,包括网上说的 zookeeper
一些使用场景。
之前每次配置 nginx 中的 location 这个路径时都会很头疼,基本上每次都是靠碰运气,一个个去试,直到访问路径通了为止,这样一来到最后还是不知道怎么配置成功的,下次再配置时又需要一个个去试,既浪费时间又很没有效率,所以这次特意花了点时间去学习了一番,特此记录一下,也记录一下自己在测试的过程中踩过的一些坑。