开发者学堂课程【场景实践 - 基于MongoDB实现商品管理系统:基于Mongodb实现商品管理系统之准备工作讲解】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/728/detail/13003
基于Mongodb实现商品管理系统之准备工作讲解
内容介绍:
一、Mongodb的图形化界面工具
二、案例需求
三、案例分析
一、Mongodb 的图形化界面工具
介绍一个关于Mongodb 的图形化界面工具,Installer。可从网上下载,下载之后是MongVUE.exe
第一次进入没有itcast,系统会提示添加,点击添加即可。Name处可随便命名,server处填写IP地址,端口是27017,下图是已经添加完成的itcast。
点进连接之后,可以看到之前所建数据库,点击右侧find
与命令行相比,查看数据更为便捷、清晰。
命令行查看数据:
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
在src下创建包,第一个包为com.itheima.sh.web;第二个包为com.itheima.sh.utils;第三个包com.itheima.sh.domain,第四个com.itheima.sh.service;第五个com.itheima.sh.dao。
在com.itheima.sh.utils创建MongoDBUtils.java:
代码如下:
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 是核心构造函数
接下来创建一个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。
插入数据如图所示:
到此,准备工作完成。