# 基于MongoDB实现商品管理系统(2)

基于MongoDB实现商品管理系统(2)

基于 mongodb 实现商品管理系统之准备工作

1、案例需求

这里使用的不是前端页面,而是控制台来完成的。

具体的需求如下所示:

  • 运行
  • 查询所有
  • 通过id查询详情
  • 添加

- 通过id删除

2、案例分析

  • 程序将划分层次

    ​djh.it.sh.domain javaBean实体类

    ​​djh.it.sh.utils 工具类

    ​djh.it.sh.web web层,使用main方法代替。

    ​​djh.it.sh.service service层(业务层)

    ​​djh.it.sh.dao dao层

3、准备工作:向 mongodb 数据库中插入数据。

创建数据库并插入数据:

java 复制代码
# 显示所有数据库,并使用 mymongodb 数据库。
> show dbs
local   0.03125GB
mymongodb       0.0625GB
> use mymongodb
switched to db mymongodb

# 插入数据
var productArr = [{
	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:4000
},
{
	pid:8,
	pname:"CHANEL",
	price:800
},
{
	pid:9,
	pname:"BMW",
	price:20000
}]
for(var i = 0;i<productArr.length;i++){
	db.products.insert(productArr[i])
}

# 查询数据
> db.products.find()
{ "_id" : ObjectId("66b1897c57b300f386ae6a43"), "pid" : 1, "pname" : "lenovo", "price" : 5000 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a44"), "pid" : 2, "pname" : "Haier", "price" : 3000 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a45"), "pid" : 3, "pname" : "Thor", "price" : 5000 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a46"), "pid" : 4, "pname" : "Nike", "price" : 800 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a47"), "pid" : 5, "pname" : "Dior", "price" : 2000 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a48"), "pid" : 6, "pname" : "HERMES", "price" : 2400 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a49"), "pid" : 7, "pname" : "MK", "price" : 4000 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a4a"), "pid" : 8, "pname" : "CHANEL", "price" : 800 }
{ "_id" : ObjectId("66b1897c57b300f386ae6a4b"), "pid" : 9, "pname" : "BMW", "price" : 20000 }
>

4、使用图形界面工具 Compass 连接 mongodb 数据库,并查看插入的数据。

插入后的数据如下所示:

5、打开 idea,创建 productManager 的 maven 工程。

java 复制代码
	--> idea --> File 
	--> New --> Project 
	--> Maven 
		Project SDK: ( 1.8(java version "1.8.0_131" ) 
	--> Next 
	--> Groupld : ( djh.it )
		Artifactld : ( productManager )
		Version : 1.0-SNAPSHOT
	--> Name: ( productManager )
		Location: ( ...\productManager\ )	
	--> Finish	

6、在工程 productManager (模块)中的 pom.xml 中导入依赖

java 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>productManager</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.6.RELEASE</version>
        <relativePath></relativePath>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-mongodb</artifactId>
        </dependency>
    </dependencies>

</project>
<!-- productManager\pom.xml -->

7、在工程 productManager (模块)中,创建工具类 MongoDBUtils.java

java 复制代码
/**
 *  productManager\src\main\java\djh\it\sh\utils\MongoDBUtils.java
 *
 *  2024-8-6 创建工具类 MongoDBUtils.java
 */

package djh.it.sh.utils;

import com.mongodb.DB;
import com.mongodb.Mongo;

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;
	}
} 

8、在工程 productManager (模块)中,创建 Product.java 实体类。

java 复制代码
/**
 *  D:\java_test\Intesij_idea\productManager\src\main\java\djh\it\sh\domain\Product.java
 *
 *  2024-8-6 创建 Product.java 实体类。
 */
package djh.it.sh.domain;

import org.bson.types.ObjectId;

public class Product {
	private ObjectId obj_id;
	private int pid;//商品id
	private String pname;//商品名字
	private int price;//商品价格
	public Product() {
		super();
		// TODO Auto-generated constructor stub
	}
	public Product(ObjectId obj_id, int pid, String pname, int price) {
		super();
		this.obj_id = obj_id;
		this.pid = pid;
		this.pname = pname;
		this.price = price;
	}
	public ObjectId getObj_id() {
		return obj_id;
	}
	public void setObj_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;
	}
	public void setPname(String pname) {
		this.pname = pname;
	}
	public int getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	@Override
	public String toString() {
		return "Product [obj_id=" + obj_id + ", pid=" + pid + ", pname=" + pname + ", price=" + price + "]";
	}
}

9、在工程 productManager (模块)中,创建 配置文件 application.yml。

java 复制代码
#  productManager\src\main\resources\application.yml

spring:
  # 数据源配置
  data:
    mongodb:
      # 主机地址
      host: 127.0.0.1
      # 数据库
      database: mymongodb
      # 默认端口27017
      port: 27017
      # 也可以使用uri连接
      # uri mongodb //172.18.30.110:27017/articledb

10、在工程 productManager (模块)中,创建启动类 ProductApplication.java。

java 复制代码
/**
 *   productManager\src\main\java\djh\it\sh\ProductApplication.java
 *
 *   2024-8-6 创建启动类 ProductApplication.java
 */
package djh.it.sh;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ProductApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class, args);
    }
}

上一节关联链接请点击
# 基于MongoDB实现商品管理系统(1)

相关推荐
寂寞旅行8 小时前
向量数据库Milvus的使用
数据库·milvus
闻哥9 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名9 小时前
aiPbMgrSendAck
java·网络·数据库
面向对象World12 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
dinga1985102612 小时前
mysql之联合索引
数据库·mysql
微风中的麦穗12 小时前
【SQL Server 2019】企业级数据库系统—数据库SQL Server 2019保姆级详细图文下载安装完全指南
大数据·数据库·sqlserver·云计算·个人开发·运维必备·sqlserver2019
zjttsh13 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
顾北1214 小时前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
禹凕14 小时前
MYSQL——基础知识(NULL 值处理)
数据库·mysql
码云数智-大飞14 小时前
SQL Server 无法启动?常见原因及详细解决方法指南
数据库