MongoDB在企业级项目中一般用于存储文档信息、图片资源等,MongoDB的内容完全是以 JSON字符串的形式进行存储的,所以我们在获取数据时通过简单的 反序列化就可以完成与项目内的实体类转换,不过这个过程是自动的,不需要我们手动进行反序列化处理。
1.准备下载安装Mongodb
2.构建项目
在pom.xml文件中添加mongodb的配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
在application.yml中添加参数配置
data: mongodb: host: localhost port: 27017 # username: root # password: 123456 database: db0 authentication-database: local新建一个地址信息实体类MongoShopAddress
import lombok.Data; import org.springframework.data.annotation.Id; import java.io.Serializable; import java.util.Date; /** * 类或方法的功能描述 :mongodb 实体类 * * @date: 2018-06-26 12:06 */ @Data public class MongoShopAddress implements Serializable { @Id private String id; private Integer orderId; private String email; private String firstName; private String lastName; private String postcode; private String fax; private String telephone; private Integer countryId; private Integer regionId; private String city; private String address1; private String address2; private Date createDate; private Integer createBy; private Date updateDate; private Integer updateBy; }新建一个接口服务类MongoDBShopAddressService
import com.sunvalley.demo.model.MongoShopAddress; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; /** * 类或方法的功能描述 :使用mongodb 操作 * * @author: logan.zou * @date: 2018-06-25 18:13 */ @Service public class MongoDBShopAddressService { @Autowired private MongoTemplate mongoTemplate; /** * 保存地址 * @param mongoShopAddress */ public void saveAddress(MongoShopAddress mongoShopAddress) { if (null == mongoShopAddress) { return; } mongoShopAddress.setCreateDate(new Date()); mongoShopAddress.setUpdateDate(new Date()); mongoTemplate.save(mongoShopAddress); } /** * 查询所有的 * @return */ public List<MongoShopAddress> findAll() { List<MongoShopAddress> list = mongoTemplate.findAll(MongoShopAddress.class); return list; } /** * 根据地址ID查询 * @param id * @return */ public MongoShopAddress getAddressById(String id) { if (null == id) { return null; } Query query = new Query(Criteria.where("_id").is(id)); MongoShopAddress mongoShopAddress = mongoTemplate.findOne(query, MongoShopAddress.class); return mongoShopAddress; } /** * 根据订单ID查询 * @param orderId * @return */ public MongoShopAddress getAddressByOrderId(Integer orderId) { if (null == orderId) { return null; } Query query = new Query(Criteria.where("orderId").is(orderId)); MongoShopAddress mongoShopAddress = mongoTemplate.findOne(query, MongoShopAddress.class); return mongoShopAddress; } /** * 更新地址 * @param mongoShopAddress */ public void updateAddress(MongoShopAddress mongoShopAddress) { if (null == mongoShopAddress) { return; } Query query = new Query(Criteria.where("_id").is(mongoShopAddress.getId())); Update update = new Update().set("telephone", mongoShopAddress.getTelephone()) .set("address1", mongoShopAddress.getAddress1()) .set("updateDate", new Date()); // 更新查询返回结果集的第一条 mongoTemplate.updateFirst(query, update, MongoShopAddress.class); // 更新查询返回结果集的所有 // mongoTemplate.updateMulti(query, update, MongoShopAddress.class); } /** * 根据ID删除 * @param mongoShopAddress */ public void deleteAddress(MongoShopAddress mongoShopAddress) { if (null == mongoShopAddress) { return; } mongoTemplate.remove(mongoShopAddress); } }通过MongoTemplate这个接口就可以连到Mongodb数据库了,即可对mongodb实现简单的增删改查的操作。我们可以通过mongodbAdmin就可以看到数据了。
mongodbAdmin是mondb的可视化管理工具,也可以对数据进行操作。
安装MongodbAdmin
adminMongo的GitHub地址为:adminMongo下载地址
我使用的windows版本,从git上下载下来后使用Node环境安装,执行下面这个命令
npm install -g admin-mongo
安装完后进入到adminMongo文件夹,使用下面这个命令启动adminMongo页面
npm start
然后打开浏览器输入 http://127.0.0.1:1234 即可访问到adminMongoAdmin管理页面。