Dorado 9 : 13. 数据存储

简介

Dorado提供数据存贮服务,该服务旨在为用户持久化一些与业务数据关联性不是很强的数据。目前的数据存贮服务利用H2数据库构建,其数据库文件的存贮位置位于配置文件(home:configure.properties)中core.storeDir配置项所指定的文件目录中。

如果您没有特别配置过core.storeDir,那么Dorado会自动使用临时目录作为存储目录,这样的话您存贮到该目录中的数据将非常容易丢失。因此,如果你确实希望利用Dorado提供提供数据存贮服务,那么您应该确保自己配置了一个有效的存贮目录。

配置namespace

在使用数据存贮之前,首先需要确定你打算使用的namespace。namespace相当数据库的库名,因此位于两个namespace中的数据是完全不会再存贮产生冲突的。配置一个新的namespace的方法如下:

<bean id="dorado.sqlBaseStore.myStore" parent="dorado.sqlBaseStore">
    <property name="version" value="1" />
    <property name="initScriptFiles">
        <list>
            <value>classpath:com/bstek/dorado/sample/test/default-store.sql</value>
        </list>
    </property>
</bean>

上面的配置信息首先定义了一个名为myStore的namespace,这个名称的定义是通过约定的方式完成的,即Bean的ID中“dorado.sqlBaseStore.“后面的内容会被自动识别成namespace。

version和initScriptFiles这两个配置通常是配合使用的,对于一个已经存在namespace,Dorado会首先判断其版本号是否与配置一致。如果已存在的版本号低于配置的版本号,那么Dorado自动执行initScriptFiles中配置的初始化sql脚本文件。通过这种方式完成最初的建表工作。

使用数据存储

要使用数据存储的方法比较简单,直接向您的类中注入上面配置的Bean就可以了。如果使用Annotation的话,注入代码看起来是这个样子的:

@Resource(name = "dorado.sqlBaseStore.myStore")
private SqlBaseStore myStore;

SqlBaseStore接口只有一个方法,即getConnection()。Dorado内部已经为它提供了连接池的管理功能。