Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30480076
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2008-12-22 10:03:51

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

 

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

           

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

                       

                                    "com.mysql.jdbc.Driver"

                       

                       

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

                       

                        "root"

                        "mysql"

           

3.s2DAO/s2-dao-examples/src/main/resources/examples/dao/EmployeeDepartmentDao.dicon 配置文件中,添加

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

      

      

      

      

              dao.interceptor

      

      

              dao.interceptor

      

      

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

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

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

接下来,有两个问题:

 

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

 

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

 

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

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

阅读(3006) | 评论(1) | 转发(0) |
0

上一篇:S2Dao的执行

下一篇:Transaction

给主人留下些什么吧!~~

chinaunix网友2009-12-30 13:17:18

www.360coding.com