zoukankan      html  css  js  c++  java
  • MogoDb的使用及配置

    1.导入相应的依赖

    <!--mongodb-->
    <dependency>
          <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    

    2.再配置文件中配置Mogo的信息

    #xxx表示你自定义的名字
    spring.data.mongodb.xxx.database=      #Mongo指定使用的库名 spring.data.mongodb.xxx.host=192.168.x.x #Mongo所在的IP spring.data.mongodb.xxx.port=3633      #Mongo所在的Port spring.data.mongodb.xxx.password=      #Mongo若有账号密码则需要配置 spring.data.mongodb.xxx.username=      #Mongo若有账号密码则需要配置

    3.获取Mongo的properties信息

    /**
    * 此处是获取配置文件中配置的Mongo信息
    * 将配置信息封装至MongoProperties中
    */
    @Configuration public class MultipleMongoProperties {
       //perfix表示配置文件中配置的名字,到xxx为止
       //此处为此Mongo命名为xxxMongoTemplate @Primary @Bean(name="xxxMongoTemplate") @ConfigurationProperties(prefix="spring.data.mongodb.xxx") public MongoProperties statisMongoProperties() { return new MongoProperties(); } }

    4.配置MongoTemplate

    //basePackages:指定上面配置MongoProperties的包位置
    @Configuration @EnableMongoRepositories(basePackages = "com.xxx.config.mongoConfig", mongoTemplateRef = "zzz") public class RentFollowMongo { //将上面封装到MongoProperties信息注入容器 @Autowired @Qualifier("xxxMongoTemplate") private MongoProperties mongoProperties;
    //为MongoTemplate命名:可自定义,将MongoTemplate放入容器供使用 @Bean(name = "zzz") public MongoTemplate zzzTemplate() throws Exception { return new MongoTemplate(rentfollowFactory(this.mongoProperties)); }
    //此处获取到Mongo工厂 @Bean public MongoDbFactory mongoFactory(MongoProperties mongoProperties){
         //注册地址 ServerAddress serverAdress = new ServerAddress(mongoProperties.getHost(),mongoProperties.getPort());
         //获取到MongoFactory return new SimpleMongoDbFactory(new MongoClient(serverAdress), mongoProperties.getDatabase()); } }

    5.使用MongoTemplate

    @Component
    public class MongoTest {
    
        @Autowired
        @Qualifier(value = "zzz")
        private MongoTemplate mongoTemplate;

      public List<Xxx> findFromMongo(){ /* * 查询条件 */ Query query = new Query();
    /* * 数据库名称:在Mongo中的数据库名 */ String mongoDbName= "Test_Mongo";
         //查询此数据库中所有数据,Xxx为封装了Mongo数据库字段的实体
         List<Xxx> xxxList = mongoTemplate.fin(query,Xxx.class,mongoDbName);

       //过滤查询条件:regex里面使用正则去过滤,此处表示不包含以xxxx开头的数据
    query.addCriteria(Criteria.where("e").regex(Pattern.compile("^((?!xxxx).)*$",Pattern.CASE_INSENSITIVE)
    //添加查询条件进行查询:where为Mongo中的字段信息,in表示范围,类似Sql:select * from table where a in(a,b,c)
         query.addCriteria(Criteria.where("a").in(a,b,c);
        
         //分页 //query.skip((pageNo-1)*pageSize);
         //query.limit(pageSize); //排序(升序) 若有置顶字段可以先排置顶 //query.with(new Sort(Sort.Direction.ASC,"sort")); //排序(降序) //query.with(new Sort(Sort.Direction.DESC,"sort")); //查询此数据库总条数
         long count = mongoTemplate.count(query,mongoDbName);

         //此处只返回集合,信息可根据自身需要进行封装并返回 return xxxList; }

      




  • 相关阅读:
    windows 按时自动化任务
    Linux libusb 安装及简单使用
    Linux 交换eth0和eth1
    I.MX6 GPS JNI HAL register init hacking
    I.MX6 Android mmm convenient to use
    I.MX6 GPS Android HAL Framework 调试
    Android GPS GPSBasics project hacking
    Python windows serial
    【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别
    freemarker跳出循环
  • 原文地址:https://www.cnblogs.com/joelan0927/p/11027864.html
Copyright © 2011-2022 走看看