Sung in Blog

           一些技术文章 & 一些生活杂碎

从网上找到的第一个struts连接数据库的例子是在struts的config文件里面配置数据源的,即struts数据源管理器,结果用1.2的struts怎么都弄不好,为了这个问题费尽了周折,今天总算在struts的文档中找到了答案。看来以后学习新东西还是要从英文文档入手-_-


理论上,商务罗基层应该包含数据链接的描述,包括数据库链接。但是一些早期的程序员习惯于在调用(caller)中包含数据库链接或者数据源实例。当你需要使用继承的设计时,struts数据源管理器可以在你使你的action类能够在你需要的时候生成这样的数据源。


注意:默认情况下数据库链接是直接由商务逻辑的类来控制的,一般通过JNDI。struts数据源管理器应当仅由那些没有独立数据链接的业务逻辑的类继承得到。如果可能,极力推荐使用标准的DAO模式,这样业务逻辑层不需要知道任何数据库的细节。数据源管理器在struts1.x中仍然保留并向下兼容,但是在后续版本中可能不再被支持。


 

这还不是问题的关键,如果要用数据库管理器,需要手动下载dbcp's BasicDataSource Commons DBCP.


并且1.2版本之后为了更好的配合BasicDataSource插件和别的数据库的执行,先前版本的struts通用数据源被移除了,这就是为什么1.2的lib里面没有struts-legacy.jar这个文件的原因了。


以下是我成功的配置信息:





          property="driverClassName"
      value="com.mysql.jdbc.Driver" />
          property="url"
      value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
          property="username"
      value="root" />
          property="password"
      value="yourpass" />
          property="maxActive"
      value="10" />
          property="maxWait"
      value="5000" />
          property="defaultAutoCommit"
      value="false" />
          property="defaultReadOnly"
      value="false" />
          property="validationQuery"
      value="SELECT COUNT(*) FROM db" />


最后面那一行不是必需的,但是如果写上的话返回的结果及至少要有一条记录!


mysql的jdbc也可以写成org.gjt.mm.mysql.Driver这样子。

从网上找到的第一个struts连接数据库的例子是在struts的config文件里面配置数据源的,即struts数据源管理器,结果用1.2的struts怎么都弄不好,为了这个问题费尽了周折,今天总算在struts的文档中找到了答案。看来以后学习新东西还是要从英文文档入手-_-


理论上,商务罗基层应该包含数据链接的描述,包括数据库链接。但是一些早期的程序员习惯于在调用(caller)中包含数据库链接或者数据源实例。当你需要使用继承的设计时,struts数据源管理器可以在你使你的action类能够在你需要的时候生成这样的数据源。


注意:默认情况下数据库链接是直接由商务逻辑的类来控制的,一般通过JNDI。struts数据源管理器应当仅由那些没有独立数据链接的业务逻辑的类继承得到。如果可能,极力推荐使用标准的DAO模式,这样业务逻辑层不需要知道任何数据库的细节。数据源管理器在struts1.x中仍然保留并向下兼容,但是在后续版本中可能不再被支持。


 

这还不是问题的关键,如果要用数据库管理器,需要手动下载dbcp's BasicDataSource Commons DBCP.


并且1.2版本之后为了更好的配合BasicDataSource插件和别的数据库的执行,先前版本的struts通用数据源被移除了,这就是为什么1.2的lib里面没有struts-legacy.jar这个文件的原因了。


以下是我成功的配置信息:





          property="driverClassName"
      value="com.mysql.jdbc.Driver" />
          property="url"
      value="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8" />
          property="username"
      value="root" />
          property="password"
      value="yourpass" />
          property="maxActive"
      value="10" />
          property="maxWait"
      value="5000" />
          property="defaultAutoCommit"
      value="false" />
          property="defaultReadOnly"
      value="false" />
          property="validationQuery"
      value="SELECT COUNT(*) FROM db" />


最后面那一行不是必需的,但是如果写上的话返回的结果及至少要有一条记录!


mysql的jdbc也可以写成org.gjt.mm.mysql.Driver这样子。

]]>
posted on 2005-09-19 16:28 Sung 阅读(556) 评论(0)  编辑  收藏 所属分类: Struts

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


网站导航: