<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的漫漫程序之旅

    專注于JavaWeb開發(fā)
    隨筆 - 39, 文章 - 310, 評(píng)論 - 411, 引用 - 0
    數(shù)據(jù)加載中……

    Spring mongodb 之簡(jiǎn)單CRUD

    官方文檔參考:http://www.mkyong.com/mongodb/  
    用MyEclipse添加maven-Project工程,在這之前你可能需要配置你的m2eclipse
    1.將maven配置成你自己安裝的版本。


    2.設(shè)置User Settings
    當(dāng)然也可以修改倉(cāng)庫(kù)默認(rèn)目錄,打maven安裝目錄conf/setting.xml
    在<settings>節(jié)點(diǎn)里
    添加:<localRepository>d:/myrepository</localRepository>即可


    pom.xml

    <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>com.test</groupId>
      <artifactId>mongodb</artifactId>
      <version>0.0.1-SNAPSHOT</version>
      <name>springmongodb</name>
      <description>This is test case</description>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <source>1.6</source>
              <target>1.6</target>
            </configuration>
          </plugin>
        </plugins>
      </build>
      
      <repositories>
            <repository>
                <id>spring-milestone</id>
                <name>Spring Maven MILESTONE Repository</name>
                <url>http://maven.springframework.org/milestone</url>
            </repository>
        </repositories>
     
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.8.2</version>
                <scope>test</scope>
            </dependency>
     
            <!-- Spring framework -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>3.0.5.RELEASE</version>
            </dependency>
     
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context</artifactId>
                <version>3.0.5.RELEASE</version>
            </dependency>
     
            <!-- mongodb java driver -->
            <dependency>
                <groupId>org.mongodb</groupId>
                <artifactId>mongo-java-driver</artifactId>
                <version>2.5.2</version>
            </dependency>
     
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-mongodb</artifactId>
                <version>1.0.0.M2</version>
            </dependency>
     
            <dependency>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
                <version>2.2</version>
            </dependency>
     
        </dependencies>
        
    </project>
    寫完pom.xml后,執(zhí)行 項(xiàng)目-右鍵-run-maven install 
    下載完jar包,Test 成功后,就可以寫代碼了。
    SpringMongoConfig.java
    package com.config;

    import org.springframework.context.annotation.Bean;
    import org.springframework.data.document.mongodb.MongoTemplate;
    import org.springframework.data.document.mongodb.config.AbstractMongoConfiguration;

    import com.mongodb.Mongo;

    public class SpringMongoConfig extends AbstractMongoConfiguration
    {
        //主機(jī)
        @Override
        public Mongo mongo() throws Exception {
            return new Mongo("localhost");
        }
        //數(shù)據(jù)庫(kù)
        @Override
        public @Bean MongoTemplate mongoTemplate() throws Exception {
            return new MongoTemplate(mongo(), "test");
        }

    }
    實(shí)體類:
    package entity;

    import java.util.List;

    public class User
    {

        private String id;
        private String username;
        private String password;
        //文檔中的集合
        private List<String> position;

        // 要有聲明默認(rèn)的構(gòu)造方法,不然查詢的時(shí)候會(huì)報(bào)錯(cuò)(無法實(shí)例化)
        public User()
        {

        }

        public String getId()
        {
            return id;
        }

        public void setId(String id)
        {
            this.id = id;
        }

        public String getUsername()
        {
            return username;
        }

        public void setUsername(String username)
        {
            this.username = username;
        }

        public String getPassword()
        {
            return password;
        }

        public void setPassword(String password)
        {
            this.password = password;
        }

        public List<String> getPosition()
        {
            return position;
        }

        public void setPosition(List<String> position)
        {
            this.position = position;
        }

        public User(String id, String username, String password,
                List<String> position)
        {
            super();
            this.id = id;
            this.username = username;
            this.password = password;
            this.position = position;
        }

        public User(String username, String password, List<String> position)
        {
            super();
            this.username = username;
            this.password = password;
            this.position = position;
        }

    }
    測(cè)試類:
    package run;

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Set;

    import org.junit.Test;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.annotation.AnnotationConfigApplicationContext;
    import org.springframework.data.document.mongodb.MongoOperations;
    import org.springframework.data.document.mongodb.query.Criteria;
    import org.springframework.data.document.mongodb.query.Query;
    import org.springframework.data.document.mongodb.query.Update;

    import com.config.SpringMongoConfig;

    import entity.User;

    public class App
    {
        private ApplicationContext ctx = new AnnotationConfigApplicationContext(
                SpringMongoConfig.class);
        private MongoOperations mongoOperations = (MongoOperations) ctx
                .getBean("mongoTemplate");

        @Test
        public void testSave()
        {
            List<String> list = new ArrayList<String>();
            for(int i =0; i < 100; i ++)
            {
                list.add("開發(fā)" + i);
                list.add("經(jīng)理" + i);
                User user = new User("John" + i,"123" + i,list);
                //第一個(gè)參數(shù):要保存的表名,默認(rèn)為實(shí)例名user同名的集合(表)
                
    //如果表不存在會(huì)自動(dòng)創(chuàng)建, 表名user為關(guān)鍵字不要使用
                mongoOperations.save("userinfo", user);
                list.clear();
            }
        }

        @Test
        public void testUpdate()
        {
            mongoOperations.updateFirst("userinfo",
                    new Query(Criteria.where("username").is("John0")),
                    Update.update("password", "newpassword"));
        }

        @Test
        public void testDelete()
        {
            mongoOperations.remove("userinfo",new Query(Criteria.where("id").is("4ffe3486b41f8ed41269a729")),User.class);
        }

        @Test
        public void testQuery()
        {
            //輸出所有表名
            Set<String> set = mongoOperations.getCollectionNames();
            Iterator<String> it =  set.iterator();
            while(it.hasNext())
            {
                System.out.println(it.next());
            }
            //user:要查詢的表名
            List<User> users = mongoOperations.getCollection("userinfo", User.class);
            System.out.println(users.size());
            for(User u : users)
            {
                System.out.println(u.getId());
            }
        }

    }

    源碼下載

    posted on 2012-07-12 10:42 々上善若水々 閱讀(5427) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

    主站蜘蛛池模板: 亚洲国产另类久久久精品黑人| 国产无遮挡吃胸膜奶免费看| 久久精品国产亚洲麻豆| 国产亚洲视频在线| 国产又大又粗又硬又长免费| 亚洲精品9999久久久久无码| 日韩毛片免费在线观看| 美女被暴羞羞免费视频| 亚洲VA综合VA国产产VA中| 一级做a爱片特黄在线观看免费看| 波多野结衣一区二区免费视频| 国产综合成人亚洲区| 亚洲综合色视频在线观看| 热久久这里是精品6免费观看| 亚洲男人的天堂www| 免费无遮挡无码永久视频| 亚洲精品视频在线观看视频| 欧美a级在线现免费观看| 亚洲av日韩aⅴ无码色老头| 国产免费久久精品| 中文字幕视频免费在线观看| 久久精品国产亚洲av成人| 国产国产人免费视频成69堂| 亚洲经典千人经典日产| 相泽亚洲一区中文字幕| 91在线手机精品免费观看| 亚洲精品无码人妻无码| 国产精品亚洲综合一区| 日韩在线不卡免费视频一区| 亚洲中文字幕久在线| 亚洲国产综合无码一区二区二三区| 国产成年无码久久久免费| 久久久久精品国产亚洲AV无码| 午夜亚洲福利在线老司机| 午夜免费福利小电影| 色天使亚洲综合一区二区| 亚洲国产精品lv| 国产成人免费A在线视频| 免费网站看av片| 蜜芽亚洲av无码一区二区三区| 亚洲精品乱码久久久久久中文字幕 |