<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Mongodb-ORM基于Java的ORM框架

          聯(lián)合創(chuàng)作 · 2023-09-30 02:09

          mongodb-orm簡介

          • Mongodb ORM是基于java的ORM框架,簡化了SDK的使用,使代碼變得更清晰、簡單。 

          • 與Ibatis類似,將查詢、執(zhí)行語句封裝在xml中,與代碼隔離。簡稱MQL。 

          項目中使用

          加入mongodb orm的支持包

          • 1. 添加jar包或maven支持

          <dependency>
              <groupId>com.mongodborm</groupId>
              <artifactId>mongodb-orm</artifactId>
              <version>0.0.1-RELEASE</version>
          </dependency>
          • 2. 初始化mongodb templet

                  spring中初始化

          <bean id="mongoTemplet" class="com.mongodb.client.MongoClientTemplet">
              <property name="factory">
                  <bean class="com.mongodb.client.MongoORMFactoryBean">
                      <property name="dataSource">
                          <bean class="com.mongodb.client.MongoDataSource">
                              <property name="nodeList" value="127.0.0.1:27017" />
                              <property name="dbName" value="your db name" />
                              <property name="userName" value="user name" />
                              <property name="passWord" value="password" /> <!-- 可使用默認(rèn)值 --> <property name="connectionsPerHost" value="" />
                              <property name="threadsAllowedToBlock" value="" />
                              <property name="connectionTimeOut" value="" />
                              <property name="maxRetryTime" value="" />
                              <property name="socketTimeOut" value="" />
                          </bean>
                      </property>
                      <property name="configLocations">
                          <list>
                              <value>classpath:mql/mongo-mql.xml</value>
                          </list>
                      </property>
                  </bean>
              </property>
          </bean>

                  代碼初始化

              try {
                Resource resource =  new ClassPathResource("mongo-mql.xml");    
                MongoORMFactoryBean factory = new MongoORMFactoryBean();
                factory.setConfigLocations(new Resource[]{resource});
                factory.init();   
                MongoClientTemplet templet = new MongoClientTemplet();
                templet.setFactory(factory);
                templet.init();
              } catch(Exception e) {
                e.printStackTrace();
              }

          編寫MQL

          • Mapping

          <mapping id="model" class="test.mongodborm.Model">
                  <property column="_id" name="id" />
                  <property column="name" name="name" />
                  <property column="time" name="time" value="0" />
                  <property column="status" name="status" />
          </mapping>
          
          <mapping id="extendModel" class="test.mongodborm.Model" extends="model">
              <property column="newProperty" name="newProperty" />
          </mapping>
          •   select

          <select id="queryModelList" collection="test_sample">
              <query class="java.lang.String">
                  <property column="name" name="${value}" />
              </query>
              <field mapping="model" />
              <order>
                  <property column="time" value="desc" />
              </order>
          </select>
          •  update/findAndModify

          <update id="updateModel" collection="test_sample">
              <query class="test.mongodborm.Model$Child">
                  <property column="name" name="name" ignoreNull="true" />
                  <property column="time" operate="gte" value="0" type="number" />
                  <property column="status" operate="in">
                      <list type="number">0,1</list>
                  </property>
              </query>
              <action class="java.util.Map">
                  <property column="name" name="name" operate="set" />
                  <property column="status" operate="set" />
              </action>
          </update>
          • 有嵌套的查詢

          <select id="queryModelList3" collection="test_sample">
              <query class="java.lang.String">
                  <property column="_id" value="${value}" />
                  <property column="time" value="0" type="number" />
              </query>
              <field class="java.util.Map">
                  <property column="name" name="name" />
                  <property column="parent" name="parent">
                      <value class="test.mongodborm.Model$Parent">
                          <property column="name" name="name" />
                          <property column="child" name="child">
                              <value class="test.mongodborm.Model$Child">
                                  <property column="name" name="name" />
                                  <property column="time" name="time" value="0" />
                              </value>
                          </property>
                          <property column="data" name="data">
                              <value class="java.util.Map">
                                  <property column="title" name="title" />
                                  <property column="content" name="content" />
                              </value>
                          </property>
                      </value>
                  </property>
                  <property column="data" name="data">
                      <value class="java.util.Map">
                          <property column="title" name="title" />
                          <property column="content" name="content" />
                      </value>
                  </property>
              </field>
              <order class="java.util.Map">
                  <property column="time" name="time" value="desc" />
              </order>
          </select>

          Templet用法

          Model model = mongoTemplet.findOne("queryModelList", "yuxiangping");
          
          List<Model> list = mongoTemplet.findOne("queryModelList", "");
          
          Model model = new Model();
          model.setTime(1L);
          Map<String, String> action = new HashMap<String, String>();
          action.put("name", "yuxiangping-update");
          int update = mongoT emplet.update("updateModel", model, action);

                  更多的使用方法參見 sample.xml

          瀏覽 10
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          Quick-ORM基于 Java 的高效 ORM 框架
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  成人四级无码片 | 日本 国产 视频在线 | 人人人人人色 | 9999re | 人妻无码在线观看 |