基于Java的ORM框架 Mongodb-ORM

码农软件 · 软件分类 · ORM/持久层框架 · 2019-09-23 10:11:42

软件介绍

mongodb-orm简介

  • Mongodb ORM是基于java的ORM框架,简化了SDK的使用,使代码变得更清晰、简单。 

  • 与Ibatis类似,将查询、执行语句封装在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" /> <!-- 可使用默认值 --> <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

本文地址:https://codercto.com/soft/d/15213.html

算法交易与套利交易

算法交易与套利交易

赵胜民 / 厦门大学出版社 / 2010-9 / 35.00元

《算法交易与套利交易》主要介绍算法交易和一些套利交易的策略,以便于读者对相关方面的内容进行阅读和学习。在《算法交易与套利交易》的第一部分,我们回顾了投资学一些相关的基本内容。其中,前两章介绍了证券投资的收益和风险等特征,以及马可维茨的最优资产配置模型。第3章则介绍了股票投资分析当中常用的资本资产定价模型(CAPM)、套利定价模型(APT),以及因素模型。然后,第4、5章分别讲到了金融证券估值模型、......一起来看看 《算法交易与套利交易》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具