说明

本教程是,原文章发布系统教程的精编重制版,会包含每一节的源码,以及修正之前的一些错误。因为之前的教程只做到了评论模块,很多地方还不完美,因此重制版会修复之前的一些谬误和阐述不清的地方,而且,后期我会考虑完成该项目的后台管理。希望本教程提供的内容,可以成为JavaWeb初学者一套较为完整的练手项目。 

终于到到数据库了,之前的教程我们使用的是MySQL数据库,现在因为是重置版,因此打算写一点新的内容。经过反复思考,最终决定采用一款NoSQL的数据 - 芒果DB!NoSQL,顾名思义,就是不需要你写SQL了。

什么是NoSQL?

SQL就是Structor Query Language 结构化查询语言。

MySQLOracleSQL Server数据库都是SQL数据库,在大数据时代有些场景使用他们显得太笨重。

SQL有一个非常大的缺点,就是限制字段:比如现在数据库中已经有10万条数据了(在今天10万条都不算大数据),如果想从下一条数据开始增加一些字段,此时之前的10万条数据都需要一同被更改。SQL中,表的字段是不能自由更改的,不能某一个条目有一些字段,另外的条目的没有。

SQL也有优点,能够轻松执行复杂查找。比如寻找所有大于18岁的且是女生的人的妈妈的年龄,这里涉及了主从查找,SQL的主从查找非常强。但是在大数据时代,这种寻找有多少呢?试想,你面对1008610010的详单,你会有多少复杂查询的几率呢?基本上都是限制日期查询。

总结一下:在大数据时代,SQL的优势在衰减,而缺点在放大。

NoSQL应运而生,NoSQL就是Not Only SQL,不仅仅是SQL非关系型数据库

NoSQL中没有限制字段,只有条目。每个条目可以自由设置字段。

我们学习最经典的MongoDB数据库,它是NoSQL

如何安装芒果数据库?

MangoDB的安装是非常简单的,首先去访问一下它的官网:https://www.mongodb.com/

image.png

点击右上角的下载地址:

image.png

选择server

image.png

下载可以选择zip格式或者msi格式,msi格式就是下一步、下一步安装。我们使用zip格式。

下载下来以后,解压到某一个磁盘,再配置一下环境变量就好了。如果不知道如何配置环境变量,可以百度一下。

环境变量配置好之后,打开CMD,输入mongo,看看有没有报错?有些电脑可能会在第一次运行时报一个缺少KB2731284补丁的错误,这个补丁需要去百度下载安装一下。然后就可以了。如果你的电脑是32位的,就有点麻烦,你需要去下载32位的芒果数据库(ZIP格式),还有对应的补丁。

全部安装好了以后,首先需要使用mongod来“开机”,表示打开数据库。用mongod来开机。要找一个地方存储数据库。在C盘建立mydb文件夹,最好在C盘,因为有的系统有安全限制。然后,打开CMD命令窗口:

mongod --dbpath c:\mydb

效果:

image.png

这样就代表芒果数据库安装完毕了。

接下来,这个cmd窗口建议最小化,反正不要去关。如果关掉,那么芒果数据库也就跟着一起关闭了!

重新打开cmd窗口,输入mongo

image.png

这样就代表进入了芒果数据库。

我们需要创建一个表空间,直接use article,这个表示创建了一个叫做article的表空间。

image.png

然后,创建一张User表,因为后期需要使用mongoose,因此我们刻意将表名称改为users,试着插入一条数据:

db.users.insert({username:'admin',password:'123',nickname:'权限大师'})

image.png

这样就代表成功插入一条数据了,下面再来几条测试数据。

db.users.insert({username:'jack',password:'123',nickname:'jack'});
db.users.insert({username:'rose',password:'123',nickname:'rose'});

查询数据就用find方法:

db.users.find();

image.png

OK,NICE。

现在数据库已经搞定了,剩下的就是如何用java去操作数据库的问题。