当前位置: 首页 > 后端技术 > Java

JeecgBoot与MongoDB集结实战文档

时间:2023-04-02 02:07:36 Java

1。标引入依赖org.springframework.bootspring-boot-starter-data-mongodb2.增加配置类packageorg.jeecg.config;导入com.mongodb.client.MongoClient;导入org.springframework.context.annotation.Bean;导入org.springframework.context.annotation.Configuration;导入org.springframework.data.mongodb.core.MongoClientFactoryBean;导入org.springframework.data.mongodb.core.MongoOperations;导入org.springframework.data.mongodb.core.MongoTemplate;@ConfigurationpublicclassMongoConfig{@BeanpublicMongoClientFactoryBeanmongoClientFactoryBean(){MongoClientFactoryBeanfactoryBean=newMongoClientFactoryBean();factoryBean.setHost("127.0.0.1");factoryBean.setPort(27017);返回工厂Bean;}@BeanpublicMongoTemplatemongoTemplate(MongoClientmongoClient){返回新的MongoTemplate(mongoClient,“springboot-db”);}}说明:新建一个springboot项目,导入坐标,然后在application.properties文件中添加spring.data.mongodb.uri=mongodb://localhost:27017/springboot-dbspringboot可以支持MongoRepository和MongoTemplate读写MongoDB。测试的很顺利,只是把springboot工程中的代码加到了jeecgboot中。运行后总是提示错误。使用该配置类替换yml中的mongodb配置即可解决该错误。3.升级积木报告针对上面提到的mongoTemplate报错,官方已经提供了升级积木报告的最新解决方案。这消除了对配置类的需要。org.jeecgframework.jimureportjimureport-spring-boot-starter1.4.2之后在application-dev.yml文件中,加入mongoDb的配置项spring:data:mongodb:uri:mongodb://localhost:27017/springboot-db4。创建实体类包org.jeecg.modules.mongodb.entity;importorg.springframework.data.annotation.Id;公共类客户{@IdpublicStringid;公共字符串名字;公共字符串姓氏;publicCustomer(){}publicCustomer(StringfirstName,StringlastName){this.firstName=firstName;this.lastName=lastName;}@OverridepublicStringtoString(){returnString.format("Customer[id=%s,firstName='%s',lastName='%s']",id,firstName,lastName);}}5。创建Repositorypackageorg.jeecg.modules.mongodb.dao;导入org.jeecg.modules.mongodb.entity.Customer;导入org.springframework.data.mongodb.repository.MongoRepository;导入java.util.List;publicinterfaceCustomerRepositoryextendsMongoRepository{CustomerfindByFirstName(StringfirstName);ListfindByLastName(StringlastName);}6.测试用例用两种方式测试mongoDB,分别为MongoRepository和MongoTemplatepackageorg.jeecg.modules.mongodb;导入org.jeecg.common.api.vo.Result;导入org.jeecg.modules.mongodb.dao.CustomerRepository;导入org.jeecg.modules.mongodb.entity.Customer;导入org.springframework.beans.factory.annotation。自动装配;导入org.springframework.data.mongodb.core.MongoTemplate;导入org.springframework.web.bind.annotation.*;导入java.util.HashMap;导入java.util.Map;/***测试mongodb*/@RestController@RequestMapping("/mongo")publicclassMongoController{@AutowiredprivateMongoTemplatemongoTemplate;@Autowired私有CustomerRepositoryr存放地;@GetMapping("/test1")publicResultTestMongoDb(){Mapmap=newHashMap<>();map.put("jeecg","mongodb-jeecg");mongoTemplate.insert(map,"testMongoDb");returnResult.OK("存入成功");}@GetMapping("/test2")publicResultTestMongoDb2(){repository.deleteAll();//保存几个客户repository.save(newCustomer("Alice","Smith"));repository.save(newCustomer("Bob","Smith"));//获取所有客户System.out.println("CustomersfoundwithfindAll():");System.out.println("--------------------------------");对于(客户客户:repository.findAll()){System.out.println(客户);}System.out.println();//获取单个客户omerSystem.out.println("通过findByFirstName('Alice')找到客户:");System.out.println("--------------------------------");System.out.println(repository.findByFirstName("爱丽丝"));System.out.println("通过findByLastName('Smith')找到的客户:");系统.out.println("--------------------------------");for(Customercustomer:repository.findByLastName("Smith")){System.out.println(customer);}returnResult.OK("入金成功");}}7。测试结果后数据库截图