随笔 - 115  文章 - 481  trackbacks - 0
<2006年4月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用链接

留言簿(19)

随笔档案(115)

文章档案(4)

新闻档案(1)

成员连接

搜索

  •  

最新评论

阅读排行榜

评论排行榜

  EasyDBO是通过配置文件来配置相关数据源等,只有为EasyDBO提供正确的配置信息。EasyDBO才能正常工作,EasyDBO的配置信息写在easyjf-dbo.xml文件中,其发布到Web应用程序中的时候处于web-inf\classes\目录下面。只有存放位置正确、内容正确的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,我们会在以后作详细的介绍。
posted on 2006-04-27 10:32 简易java框架 阅读(1005) 评论(2)  编辑  收藏

FeedBack:
# re: EasyDBO配置文件easyjf-dbo.xml简介 2006-04-28 11:14 黄金时代已过
一个超轻量级的ORM还是很有意义的。

请问能介绍EasyDBO和Hibernate相比有什么优缺点吗?

  回复  更多评论
  
# re: EasyDBO配置文件easyjf-dbo.xml简介 2006-04-30 12:55 简易java框架
@黄金时代已过
EasyDBO和HIBERNATE比很小,所以.jar包小啊!还有就是你能感觉到他在处理单个表的映射上真的是相当简单。
说到这里你就该了解他个HIBERNATE 的一个很大的差距了就是EASYDBO不能处理表间关联,所以你要对每一个表(不管其粒度多细)做一个OBJECT来和他对应,所以在用EASYDBO的时候你对数据库的设计就会显得(有时候)不太合理。而且要处理很细小的关联处理操作。
但EASYDBO确实很简单!!!!!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: