基于 Mongodb 实现商品管理系统之准备工作讲解|学习笔记

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 快速学习基于 Mongodb 实现商品管理系统之准备工作讲解

开发者学堂课程【场景实践 - 基于MongoDB实现商品管理系统基于Mongodb实现商品管理系统之准备工作讲解】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/728/detail/13003


基于Mongodb实现商品管理系统之准备工作讲解

 

内容介绍:

一、Mongodb的图形化界面工具

、案例需求

、案例分析

 

一、Mongodb 的图形化界面工具

介绍一个关于Mongodb 的图形化界面工具,Installer。可从网上下载,下载之后是MongVUE.exe

image.png

第一次进入没有itcast,系统会提示添加,点击添加即可。Name处可随便命名,server处填写IP地址,端口是27017,下图是已经添加完成的itcast。

image.png

点进连接之后,可以看到之前所建数据库,点击右侧find

image.png

与命令行相比,查看数据更为便捷、清晰。

命令行查看数据:

use itcast

switched to db itcast

db.persons.find()

 

二、案例需求:

由于时间的关系,我们这里使用的不是前端页面,而是控制台来完成的。具体的需求如下所示 :

1.运行

-------欢迎来到商品管理系统-------

输入以下命令进行操作:

C:添加商品D:根据编号删除商品DA:删除所有商品Ⅰ:根据商品编号查询商品信息FA;查询所有商品信息Q:退出

2.查询所有

3.通过id查询详情

4.添加

5.通过 id 删除

 

三、案例分析:

程序将划分层次

com.itheima.domain  javaBean

com.itheima.utils 工具类

com.itheima.web  web层,这里我们使用main方法代替。

com.itheima.service  service层(业务层)

com.itheima.dao  dao层

接下来创建一个工具类,productManager

 image.png

在src下创建包,第一个包为com.itheima.sh.web;第二个包为com.itheima.sh.utils;第三个包com.itheima.sh.domain,第四个com.itheima.sh.service;第五个com.itheima.sh.dao。

image.png

在com.itheima.sh.utils创建MongoDBUtils.java:

image.png

代码如下:

package com.itheima.sh.utils;

public class MongoDBUtils {

//1.使用 connection 用来保存 Mongo 的数据库连接对象

static Mongo connection = null;

//2.使用 db 接收具体的数据库连接

static DB db = null;

public static DB getDB(String dbName) throws Exception {

//创建一个 Mongo 的数据库连接对象

connection = new Mongo("127.0.0.1: 27017");

//通过获取数据库的连接对象 connection 根据传递的数据库名 dbName 来连接具体的数据库

db = connection.getDB(dbName);

//将具体的数据库连接返回给调用者

return db;

}

}

这样会报错,接下来是连接驱动,右键创建文件夹 lib,之后将之前准备好的 mongo-2.8.8jar 的驱动加载过去,右键 build path。

Mongo 是核心构造函数

 image.png

接下来创建一个JAVA bean,

注意,数据库中有默认的_id,其属于 ObjectId,Bson 类型

package com.itheima. sh.domain;

import org.bson.types.ObjectId;

public class Product {

//属性

private ObjectId obi..id;

private int pid;

private String pname;

private double price;

public Product() {

super();

//ToDo Auto-generated constructor stub

}

public Product(0bjectId obj_id, int pid,String pname,double price){

super();

this.obj_id = obj_id;

this.pid = pid;

this.pname = pname;

this.price = price;

}

public ObjectId get0bj_id() {

return obj_id;

}

public void set0bj_id(objectId obj_id) {

this.obj_id = obj_id;

}

public int getPid(){

return pid;

}

public void setPid(int pid) {

this.pid = pid;

}

public String getPname() {

return pname;

}

blic void setPname(String pname) {

this.pname = pname;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

@Override

blic String toString() {

return "Product [obj_id=" + obj_id + ", pid=" + pid + ", pname=" : pmame + ", price=" + price +"]";

}

}

接下来将数据插入到数据库中:

var productArr = [i

pid:1,

pname : "lenovo" ,

price: 5000

},

{

pid:2,

pname : "Haier",

price : 3000

},

{

pid :3,

pname : "Thor" ,

price : 5000

},

{

pid :4,

pname : "Nike" ,

price:800

},

{

pid :5,

pname : ""Dior" ,

price : 2000

},

{

pid:6,

pname :""HERMES",

price : 2400

},

{

pid:7,

pname : "MK”,

price : 4088

},

{

pid:8,

pname : "CHANEL",

price:808

},

{

pid:9,

pname :""BMW"",

price : 20000

}]

for(var i =0;i<productArr.length ;i++){

db.products.insert(productArr[i])

}

在 cmd.exe 中数据插入:

db. products.find)

{"_id”: ObjectId("5aaa25a7abc15414bafee3a5"),"pid” : 1,"pname" : "1enovo","price" : 5000 }

{"_id”:0bjectId("5aaa25a7abc15414bafee3a6"),"pid” : 2,"pname”: "Haier",  "price" : 3000 }

{"_id”: ObjectId("5aaa25a7abc15414bafee3a7"),"pid" : 3,"pname" : "Thor", "price" : 5000 }

{"_id”: ObjectId("5aaa25a7abc15414bafee3a8"),"pid" : 4,"pname”: "Nike","price" : 8 }

{"_id”: ObjectId("5aaa25a7abc15414bafee3a9"),"pid" : 5," pname": "Dior", "price” : 2o0o }

{"_id”: ObjectId("5aaa25a7abc15414bafee3aa"),"pid": 6," pname”︰"HERIES"","price”: 2400 }

{"_id”:ObjectId("5aaa25a7abc15414bafee3ab"),“pid": 7,“pname”:“MK",“"price" : 4000 }

{"_id”: ObjectId("5aaa25a7abc15414bafee3ac"),“pid”: 8,“pname”:“CHANEL","price" : 800 }

{"_id” : ObjectId("5aaa25a7abc15414bafee3ad"),"pid” : 9,“"pname”:"BMW",“price”: 20000 }

在MongoVUE中插入数据,点击数据库后刷新,再点击find。

插入数据如图所示:

image.png

到此,准备工作完成。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
前端开发 NoSQL MongoDB
一款基于Nodejs+express+mongodb的内容管理系统
一款基于Nodejs+express+mongodb的内容管理系统
118 0
|
6月前
|
存储 NoSQL Linux
MongoDB【部署 02】mongodb使用配置文件启动、添加为系统服务及自启动(一个报错:[13436][NotMasterOrSecondary])
MongoDB【部署 02】mongodb使用配置文件启动、添加为系统服务及自启动(一个报错:[13436][NotMasterOrSecondary])
698 0
|
1月前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
4月前
|
JSON NoSQL MongoDB
mongodb 系统命令总结
mongodb 系统命令总结
37 0
|
5月前
|
NoSQL Unix MongoDB
MongoDB-系统时钟跳变引发的风波
MongoDB-系统时钟跳变引发的风波
|
5月前
|
存储 监控 NoSQL
MongoDB 副本集:构建可靠的数据备份与高可用性系统
MongoDB 副本集:构建可靠的数据备份与高可用性系统
105 0
|
6月前
|
人工智能 NoSQL MongoDB
|
6月前
|
运维 NoSQL 关系型数据库
MongoDB助力西门子数字化工厂构建下一代制造执行系统
数据库的高可用性是保障工厂不停工、连续生产的关键所在
2237 3
MongoDB助力西门子数字化工厂构建下一代制造执行系统
|
6月前
|
存储 NoSQL MongoDB
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
326 0
|
存储 NoSQL Ubuntu
linux系统中MongoDB数据库安装及分片集群搭建
史上最全的mongodb分片集群搭建,从介绍安装到集群搭建授权,你再也找不到比他更加详细的资料了,未经允许禁止转载!!
1058 4