|
|
| EasyDBO配置文件easyjf-dbo.xml简介 |
作者:
文章来源:
访问次数:141次
加入时间:2007年04月14日
|
|
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=accessdbaccess.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,我们会在以后作详细的介绍。
|
|
|