• Spring-boot访问MongoDB


    1、访问配置信息

    package hello;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.data.authentication.UserCredentials;
    import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
    import org.springframework.data.mongodb.core.MongoOperations;
    import org.springframework.data.mongodb.core.MongoTemplate;
    
    import com.mongodb.Mongo;
    import com.mongodb.MongoClient;
    
    @Configuration
    public class MongoConfig extends AbstractMongoConfiguration {
     
        @Bean
        public Mongo mongo() throws Exception {
            return new MongoClient();
        }
     
        @Bean
        public MongoTemplate mongoTemplate() throws Exception {
            UserCredentials user = new UserCredentials("scott", "tiger");
            return new MongoTemplate(mongo(), "test1", user);
        }
    
        @Override
        protected String getDatabaseName() {
            // TODO Auto-generated method stub
            return "test1";
        }
     
    }

    2、POJO类

    package hello;
    
    import org.springframework.data.annotation.Id;
    
    
    public class Customer {
    
        @Id
        private String id;
    
        private String firstName;
        private String lastName;
    
        public Customer() {}
    
        public Customer(String firstName, String lastName) {
            this.firstName = firstName;
            this.lastName = lastName;
        }
    
        @Override
        public String toString() {
            return String.format(
                    "Customer[id=%s, firstName='%s', lastName='%s']",
                    id, firstName, lastName);
        }
    
    }

    3、Repository接口

    package hello;
    
    import java.util.List;
    
    import org.springframework.data.mongodb.repository.MongoRepository;
    
    public interface CustomerRepository extends MongoRepository<Customer, String> {
    
        public Customer findByFirstName(String firstName);
        public List<Customer> findByLastName(String lastName);
    
    }

    4、Application

    package hello;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.AutoConfigureBefore;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.annotation.Import;
    
    @SpringBootApplication
    @AutoConfigureBefore
    @Import(MongoConfig.class)
    public class Application implements CommandLineRunner {
    
        @Autowired
        private CustomerRepository repository;
    
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
    
        @Override
        public void run(String... args) throws Exception {
    
            repository.deleteAll();
    
            // save a couple of customers
            repository.save(new Customer("Alice", "Smith"));
            repository.save(new Customer("Bob", "Smith"));
    
            // fetch all customers
            System.out.println("Customers found with findAll():");
            System.out.println("-------------------------------");
            for (Customer customer : repository.findAll()) {
                System.out.println(customer);
            }
            System.out.println();
    
            // fetch an individual customer
            System.out.println("Customer found with findByFirstName('Alice'):");
            System.out.println("--------------------------------");
            System.out.println(repository.findByFirstName("Alice"));
    
            System.out.println("Customers found with findByLastName('Smith'):");
            System.out.println("--------------------------------");
            for (Customer customer : repository.findByLastName("Smith")) {
                System.out.println(customer);
            }
    
        }
    
    }
  • 相关阅读:
    注册验证
    翻页加输入框
    php面向对象
    封装数据库
    浅谈BFC和haslayout
    总结JS面向对象
    总结(JS)
    转载6
    总结(5.30)
    总结(5.29)
  • 原文地址:https://www.cnblogs.com/feika/p/4383794.html
Copyright © 2020-2023  润新知