关闭

SpringAccess数据库(oracle)构造

发表于:2015-10-13 11:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:phlsheji    来源:51Testing软件测试网采编

  1.spring 对数据库訪问的支持
  当我们开发持久层的时候。我们面临着多种选择。比方使用JDBC、Hibernate、java持久化API或其他持久化框架。幸好的是spring可以支持全部这些持久化机制。
  DAO(data access boject)数据訪问对象,这个名字就非常形象描写叙述了DAO在应用程序中所扮演的角色。
  DAO提供了数据的读取、写入到数据库中的一种方式。它们应该以接口的方式公布功能,而应用程序的其他部分就能够通过接口来进行訪问了。
  注:服务对象本身并不会处理数据訪问。而是将数据訪问托付给DAO。DAO接口确保其与服务对象的松耦合。
  2.配置数据源
  spring提供了在spring上下文中配置数据源Bean的多种方式,包含:
  a.通过JDBC驱动程序定义的数据源;
  b.通过JNDI查找的数据源;
  c.连接池的数据源;
  接下我们就专门来讲讲从使用连接池获取连接的数据源!
  (即c点)
  上下文配置Bean的代码:
<!--配置数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<property name="username" value="wwo"/>
<property name="password" value="wwo"/>
<!-- 连接池启动时的初始值 -->
<property name="initialSize" value="3" />
<!-- 连接池的最大值 -->
<property name="maxActive" value="300" />
<!-- 最大空暇值.当经过一个高峰时间后,连接池能够慢慢将已经用不到的连接慢慢释放一部分,一直降低到maxIdle为止 -->
<property name="maxIdle" value="2" />
<!-- 最小空暇值.当空暇的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
<property name="minIdle" value="1" />
<!-- end -->
</bean>
  注:JDBC驱动数据源并没有池的概念,因此没有存在池属性的配置!
  好了,到这一步,我们已经完毕了通过数据源建立了与数据库的连接。接下来就是实际訪问数据库了。
  3.在Spring中集成Hibernate
  Hibernate一些特性:
  a.延迟载入(Lazy loading):比如一个Bean对象由其属性及还有一个Bean对象组成,假设我们仅仅关注的仅仅是这个Bean对象的属性。那么我们能够借助于延迟载入,仅仅抓取须要的数据。
  b.预先抓取(Eager fetching):这与延迟载入是相对的,一个Bean所关联的其他Bean都会被查询出来,这就节省了多次查询的成本;
  c.级联(Cascading):有时候删除一个Bean对象后,也希望其同一时候能数据库中删除掉与其关联的其他Bean。
  Spring对Hibernate ORM框架的支持提供了与这些框架集成点以及一些附加的服务,例如以下所看到的:
  a.Spring声明式事务的集成支持。
  b.透明的异常处理;
  c.线程安全的、轻量级的模板类;
  d.DAO支持类。
  e.资源管理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号