# 基于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)

相关推荐
老邓计算机毕设25 分钟前
SSM智慧社区家政服务系统80q7o(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架
松涛和鸣1 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa2 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k2 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦2 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL3 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·3 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德3 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫4 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i4 小时前
完全卸载MariaDB
数据库·mariadb