S2DAO中例子程序连接MySQL和SQL Server

<!-- --><!-- --> <!-- -->

S2DAO 中例子程序使用的 HSQL ,默认是内存表,增删改操作后,只能使用 select 所有数据,打印所有数据来看效果,但是结果并不清楚。

 

花了不少时间进行调查,最终找到了 S2DAO 中例子程序连接 MySQL 数据库的方法。

 

需要修改三个文件:

 

1.修改 s2DAO\s2-dao\src\main\resources\dbms.properties
=org.seasar.dao.dbms.Standard 改成 = org.seasar.dao.dbms.MySQL

 

即将指定数据库从 HSQL 改成 MySQL

 

-》S2DAO例子程序的默认标准配置是内存数据库HSQL。(20090519追加)

 

 

2.s2DAO\s2-dao\src\test\resources\j2ee.dicon ,注释掉 hsqldb 部分的配置部分(默认设置),打开 MySQL 的配置部分并进行设置:

 

 

            <component name="xaDataSource"

                        class="org.seasar.extension.dbcp.impl.XADataSourceImpl">

                        <property name="driverClassName">

                                    "com.mysql.jdbc.Driver"

                        </property>

                        <property name="URL">

                                    "jdbc:mysql://localhost:3306/test"

                        </property>

                        <property name="user">"root"</property>

                        <property name="password">"mysql"</property>

            </component> 
 

 

 

 

3.s2DAO/s2-dao-examples/src/main/resources/examples/dao/EmployeeDepartmentDao.dicon 配置文件中,添加 <include path="j2ee.dicon"/>

 

核心配置如下(一个 dicon 配置文件中可以配置多个 DAO ):

<components>

       <include path="dao.dicon"/>

       <include path="j2ee.dicon"/>

      

       <component class="examples.dao.EmployeeDao">

              <aspect>dao.interceptor</aspect>

       </component>

       <component class="examples.dao.DepartmentDao">

              <aspect>dao.interceptor</aspect>

       </component>

      

</components> 
 

 

MySQL 的数据库驱动 jar 包加到项目的 buildpath 中来。

 

 

最后,就可以在 EmployeeDepartmentDaoClient 文件中进行测试,对雇员表和部门表同时进行操作,增删改查都可以了,即能对传统意义上的数据库进行相应操作。

 

因为项目要使用 SQL Server 数据库,又如法炮制,连接了 SQL Server 数据库,搞定。

 

接下来,有两个问题:

 

1 是数据库增删改操作的事务处理问题(现在无论我是否在 EmployeeDepartmentDao.dicon 中配置 Exception 项(根据官网在自动异常处理那一段的说明和示例),在发生 SQL 异常时,都会抛出未捕获异常,没有实现事务管理,比如回滚等 );

 

有同事认为应该是在 Intra-mart jta-10.dicon 文件中进行配置,但是还没试验出来。

 

2 是和 Intra-mart 的联合问题,怎样将两者有机结合起来,我们还没调查清楚。

 

这两个问题下周要继续调查。

 

 

 

你可能感兴趣的:(DAO,sql,mysql,SQL Server,配置管理)