基于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 数据库中插入数据。
创建数据库并插入数据:
# 显示所有数据库,并使用 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 工程。
--> 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 中导入依赖
<?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
/**
* 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 实体类。
/**
* 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。
# 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。
/**
* 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)