EasyDBO配置文件easyjf-dbo.xml简介

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

EasyDBO是通过配置文件来配置相关数据源等,只有为EasyDBO提供正确的配置信息。EasyDBO才能正常工作,EasyDBO的配置信息写在easyjf-dbo.XML文件中,其发布到Web应用程序中的时候处于web-infclasses目录下面。只有存放位置正确、内容正确的easyjf-dbo.xml配置信息,才能体验EasyDBO简易、实用的对象关系映射系统(ORM)功能。

一、easyjf-dbo.xml文件的内容

首先我们看一下EasyDBO_0.4.1版本中的一个完整的配置文件,下面是EasyDBO_0.4.1源码中的easyjf-dbo.xml文件的全部内容,我们的测试数据库为本机(即127.0.0.1或localhost)的数据库,数据库名为easyjf,密码为easyjf,用户名为root。

easyjf-dbo.xml文件的全部内容:

<?xml version="1.0" encoding="utf-8"?>

<easyjf-dbo>

<datasource name="bbs" type="org.apache.commons.dbcp.BasicDataSource">

<!--Ms SqlServer -->

<property name="easydbo.connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>

<property name="easydbo.connection.passWord">easyjf</property>

<property name="easydbo.connection.url">jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=easyjf;SelectMethod=cursor</property>

<property name="easydbo.connection.username">root</property>

<property name="easydbo.dialect">com.easyjf.dbo.sql.MSSQLServerQuery</property>

<!-- mysql-->

<!--

<property name="easydbo.connection.driver_class">org.gjt.mm.mysql.Driver</property>

<property name="easydbo.connection.password">easyjf</property>

<property name="easydbo.connection.url">jdbc:mysql://127.0.0.1:3306/easyjf</property>

<property name="easydbo.connection.username">root</property>

<property name="easydbo.dialect">com.easyjf.dbo.sql.MySqlQuery</property>

-->

<!--通过jdbc-odbc网桥连接-->

<!--sun.jdbc.odbc.JdbcOdbcDriver-->

<!-- jdbc:odbc:Driver=={Microsoft Access Driver (*.mdb)};DBQ=access\dbaccess.mdb-->

<!--jdbc:odbc:DriverName-->

<property name="easydbo.optimize">true</property>

<property name="esyydbo.show_sql">true</property>

</datasource>

<tables>

<class name="com.easyjf.dbo.example.TestMessage" table="Message" schema="dbo" catalog="test">

<id name="cid" type="string">

<column name="cid" length="16" not-null="true" />

<generator class="com.easyjf.dbo.RandomIdGenerator" />

</id>

<property name="title" type="string">

<column name="title" length="50" not-null="true" />

</property>

<property name="content1" type="string">

<column name="content" />

</property>

<property name="status" type="integer">

<column name="status" length="" />

</property>

<property name="inputUser" type="string">

<column name="inputUser" length="23" />

</property>

<property name="inputTime" type="date">

<column name="inputTime" length="8" />

</property>

</class>

</tables>

<cache name="EasyDBO" storePolicy="LRU" maxElements="1000" eXPiredInterval="1000" type="com.easyjf.cache.EasyCache" />

</easyjf-dbo>

二、EasyDBO中数据源的配置说明

接下来,我们重点看看有关数据源datasource的说明。

数据源是EasyDBO执行数据库操作的时候,必须使用到的JDBC数据源。

<datasource name="bbs" type="org.apache.commons.dbcp.BasicDataSource">

EasyDBO考虑到项目中有时候需要连接几个不同的数据库的情况,因此一个数据库定义为一个datasource,每一个datasource有一个名字name,同时有一个表示数据源类型的type,默认的情况下都是使用的第一个datasource作为缺省数据源。而使用apache的数据库连接池dbcp.BasicDataSource作为默认连接池。

这一行在我们当前提供的所有示例中都可以不用修改。

下面来看datasource中的各property节点的配置说明:

<property name="easydbo.connection.driver_class">表示JDBC数据库驱动类,com.microsoft.jdbc.sqlserver.SQLServerDriver或者net.sourceforge.jtds.jdbc.Driver,而My SQL的驱动为:org.gjt.mm.mysql.Driver。

<property name="easydbo.connection.url">表示数据源的具体的访问地址,每一种驱动对应的写法不同,请参照相应的预支说明。如MS SQL的jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=easyjf;SelectMethod=cursor,或者用jtds作驱动的时候jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=easyjf;SelectMethod=cursor,My SQL对应的URL写法为:jdbc:mysql://127.0.0.1:3306/easyjf

<property name="easydbo.connection.username">节点表示数据库的访问用户名

<property name="easydbo.connection.password">节点表示数据库访问密码

上面四个属性都是jdbc连接数据库共同所需的,由各个驱动程序共同规范的。

<property name="easydbo.dialect">节点表示EasyDBO的数据库方言,这个是EasyDBO专用的。当前提供的三种方言,可以支持4种数据库类型。其中com.easyjf.dbo.sql.MSSqlServerQuery为MS SQL及Access皆可使用;而com.easyjf.dbo.sql.MySqlQuery适合My SQL使用;com.easyjf.dbo.sql.OracleQuery适合Oracle数据库使用。

<property name="easydbo.optimize">节点表示是否需要进行数据优化,这个可以随便设置。

<property name="esyydbo.show_sql">节点表示是否需要在日志中输出具体的SQL语句,若为true则会输出SQL语句,若为false则不输出。输出sql语句对于调试、观察程序的运行比较有用。正式发布的程序的时候为了提高效率,可以设置成为false。

使用JNDI方式获取数据源

很多时候,我们的数据源是存放在容器中的,如Weblogic,这时一般是通过JNDI的方式获得数据源,而数据源治理则交给具体的容器负责。若要通过使用JNDI方式获取数据源,则上面的<property name="easydbo.connection.driver_class">,<property name="easydbo.connection.url">两个属性不需要设置,而是通过<property name="easydbo.connection.jndiFactory">,<property name="easydbo.connection.jndi">两个属性来设置。

三、easyjf-dbo.xml文件中的其它设置

在easyjf-dbo.xml文件中,除了配置数据源以外,还可以配置具体的对象关系表映射,其中<tables><class>这一部分就是供大家直接通过配置文件的方式配置对象关系映射的,由于我们当前示例都是直接使用实现IObject接口方式写的PO,因此只有example中的TestMessage.Java演示了通过配置文件方式实现对象关系映射,这一部分的内容我们将会在以后重点讲述。

四、关于cache的配置

在easyjf-dbo.xml文件中,有<cache>这个节点,以后可通过他来配置数据库的缓存。当前的缓存是通过easyjf-cache.xml文件来配置的。

easyjf-cache.xml文件的全部内容如下:

<?xml version="1.0" encoding="utf-8"?>

<easyjf-cache>

<!-- storePolicy主要有LRU、LFU、FIFO三种-->

<cache name="EasyDBO" storePolicy="LRU" maxElements="1000" expiredInterval="1000" type="com.easyjf.cache.EasyCache"/>

</easyjf-cache>

若要使用cache功能,则在与easyjf-dbo.xml文件所在的目录中建一个easyjf-cache.xml文件,内容如上即可。

关于cache,我们会在以后作具体的介绍。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航