`
臻是二哥
  • 浏览: 186904 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

ssh应用3

ssh 
阅读更多
JavaEE应用无非就是java操作数据库,现在hibernate替我们完成了数据库的映射,我们要考虑如何访问数据库了。在传统的JDBC中,访问数据库要使用connection,同样,在hibernate中访问数据库需要session,而session是由sessionFactory产生的,因此我们需要为sessionFactory配置数据源,同时告诉sessionFactory,它产生的session要能访问到那些数据库,因此配置文件中有了这样的一段配置,
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/atm"/>
<property name="user" value="root"/>
<property name="password" value="123456"/>
<property name="maxPoolSize" value="40"/>
<property name="minPoolSize" value="1"/>
<property name="initialPoolSize" value="1"/>
<property name="maxIdleTime" value="20"/>
</bean>

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>

<property name="mappingResources">
<list>
<value>org/atm/po/Customer.hbm.xml</value>
<value>org/atm/po/Card.hbm.xml</value>
<value>org/atm/po/CardType.hbm.xml</value>
<value>org/atm/po/CardLog.hbm.xml</value>
<value>org/atm/po/Bank.hbm.xml</value>
<value>org/atm/po/Atm.hbm.xml</value>
<value>org/atm/po/AtmLog.hbm.xml</value>
</list>
</property>

<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=true
</value>
</property>
</bean>

有了sessionFactory我们就有了session,有了session我们就可以操作数据库了,下面我们来看DAO层,此层的代码放到dao文件夹中,在PO层有多少类,在DAO就有多少dao对象,每个dao负责访问一个po类,通常我们使用面向接口变成,在dao文件夹中写要实现的数据库访问方法,在dao的子目录impl中写实现。由于每个dao类都需要一个session类,因此早就有人写了一个类,这个类有一个参数sessionFactory,实现了一些常用的方法,因此我们可以看到真实的dao层是这样的:
package org.atm.dao;
import java.util.*;
import org.atm.po.*;


public interface AtmDao
{

Atm get(Integer id);

Integer save(Atm atm);

void update(Atm atm);


void delete(Atm atm);


void delete(Integer id);


List<Atm> findAll();

List<Atm> findByAddress(String address);

List<Atm> findByHaveNoMoney();

}

package org.atm.dao.impl;
import java.util.*;
import org.atm.po.*;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.atm.dao.*;
public class AtmDaoImpl extends HibernateDaoSupport implements AtmDao
{

public Atm get(Integer id)
{
return getHibernateTemplate().get(Atm.class,id);
}

public Integer save(Atm atm)
{
return (Integer)getHibernateTemplate().save(atm);
}

public void update(Atm atm)
{
getHibernateTemplate().update(atm);
}


public void delete(Atm atm)
{
getHibernateTemplate().delete(atm);
}


public void delete(Integer id)
{
getHibernateTemplate().delete(get(id));
}


public List<Atm> findAll()
{
return (List<Atm>)getHibernateTemplate().find("from Atm");
}

public List<Atm> findByAddress(String address)
{
return (List<Atm>)getHibernateTemplate().find("from Atm where address=?",address);
}

public List<Atm> findByHaveNoMoney()
{
return (List<Atm>)getHibernateTemplate().find("from Atm where money<=0");
}

}

将每个pojo对应一个dao后,DAO层就写好了。但是不要忘记,dao层的每个类需要有个参数sessionFactory,因此可以看到在配置文件中:
<bean id="daoTemplate" abstract="true" lazy-init="true" >
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>
<bean id="customerDao" class="org.atm.dao.impl.CustomerDaoImpl" parent="daoTemplate"/>
<bean id="cardDao"     class="org.atm.dao.impl.CardDaoImpl"     parent="daoTemplate"/>
<bean id="cardtypeDao" class="org.atm.dao.impl.CardTypeDaoImpl" parent="daoTemplate"/>
<bean id="cardlogDao"   class="org.atm.dao.impl.CardLogDaoImpl" parent="daoTemplate"/>
<bean id="bankDao"     class="org.atm.dao.impl.BankDaoImpl" parent="daoTemplate"/>
<bean id="atmDao"     class="org.atm.dao.impl.AtmDaoImpl"      parent="daoTemplate"/>
<bean id="bankemployeeDao"     class="org.atm.dao.impl.BankEmployeeDaoImpl"      parent="daoTemplate"/>
<bean id="atmlogDao" class="org.atm.dao.impl.AtmLogDaoImpl" parent="daoTemplate"/>
自此,dao层结束。

  
分享到:
评论

相关推荐

    简单的ssh应用

    在这个"简单的ssh应用"中,我们将会探讨SSH框架的核心概念和它们如何协同工作。 Struts2是MVC(Model-View-Controller)设计模式的实现,负责处理HTTP请求并控制应用程序流程。它提供了丰富的拦截器机制,允许...

    百度BAE环境下的ssh应用

    1、本示例是一个简单的ssh应用,对单表进行新增和查询操作; 2、使用ssh版本为struts2-core-2.3.1.2,spring-aop-3.0.5.RELEASE,hibernate-3.6.5.Final; 3、struts2的配置采用xml(目前不支持annotation),spring和...

    完美的SSH,适合企业级应用

    在企业级应用中,SSH的重要性不言而喻,因为它能够保证数据传输的安全性,防止敏感信息被窃取或篡改。下面将详细阐述SSH的核心功能、工作原理以及在企业中的应用。 SSH主要提供了以下功能: 1. **加密通信**:SSH...

    使用SSH构建Web应用系统

    【使用SSH构建Web应用系统】 SSH(Struts、Spring、Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可扩展的Web应用。这个框架集合提供了MVC模式、依赖注入和对象关系映射等功能,极大地提高了开发...

    ssh的应用

    ssh的一些实用,大家可以拿去看看,呵呵,希望能给你帮助

    轻量级JAVAEE企业应用实战ssh2整合开发

    《轻量级JAVAEE企业应用实战SSH2整合开发》是一本深入浅出的教程,主要讲解如何使用Struts2、Hibernate和Spring这三大框架(SSH)进行集成开发,以实现高效、灵活的企业级应用程序。第二版针对初学者和有一定经验的...

    SSH.NET-develop.zip_SSH.net_VI1Q_ssh

    压缩包中的文件名"SSH.NET-develop"暗示了这包含的是SSH.NET的开发资源,可能包括源代码、文档、示例应用等。 SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行命令、传输数据。它通过加密技术...

    SSH隧道下应用协议识别的网络安全研究.pdf

    根据提供的文件内容,本文将讨论SSH隧道下应用协议识别的网络安全研究的关键知识点,内容涵盖应用层信息识别的重要性、SSH协议的分析、流量监控技术、以及加密协议对网络监控的影响等。 1. 应用层信息识别的重要性 ...

    JSF+SSH开发应用实例

    3. **Struts框架**: Struts是基于MVC设计模式的Web应用框架,主要用于控制应用程序的流程。它通过Action类来处理用户的请求,并决定接下来的视图。在JSF+SSH集成中,Struts通常用作连接JSF和Spring的桥梁,处理HTTP...

    ssh整合与json的应用

    SSH整合与JSON的应用是现代软件开发中的重要环节,特别是在分布式系统和远程服务器管理中。SSH(Secure Shell)是一种网络协议,用于在不安全的网络上安全地执行命令和传输数据,而JSON(JavaScript Object Notation...

    ssh集成 ssh集成

    3. **CI/CD系统**:在Jenkins、Travis CI或GitLab CI等CI/CD工具中,SSH集成使得构建和部署过程能自动地与远程服务器交互,比如拉取代码、编译、测试和部署应用程序。 4. **远程服务器管理**:通过SSH,可以集成到...

    简单ssh2框架程序

    总之,"简单ssh2框架程序"是一个基于SSH2的Web应用程序,利用Spring管理业务组件,Struts2处理用户交互,Hibernate处理数据库操作。通过这三个框架的协同工作,实现了用户登录、注册和登出的基本功能,为更复杂的...

    构建基于Maven的SSH原型项目

    3. **配置SSH框架**:为Struts2、Spring和Hibernate设置相应的配置文件,如struts.xml、spring-context.xml、hibernate.cfg.xml,定义动作、bean和数据源等。 4. **设计模型(Model)**:创建Java类作为数据模型,...

    SSH源框架SSH源框架SSH源框架SSH源框架SSH源框架

    SSH(Secure Shell)框架是Java开发中的一个经典组合,它由Spring、Struts和Hibernate三个开源框架组成,常被用于构建企业级Web应用程序。SSH框架的全称是Spring MVC(Struts)、Struts、Hibernate。这三大框架...

    SSH可用jar包

    SSH可用jar包通常指的是包含SSH相关功能的Java库,使得开发者能够在Java应用中集成SSH服务。 在Java开发中,SSH主要涉及三个组件:Spring、Struts和Hibernate。它们分别是用于处理应用框架、用户界面和数据持久化的...

    ssh整合ssh整合ssh整合

    SSH整合主要指的是在软件开发中,Spring Security、Hibernate和Struts三个开源框架的集成应用。SSH框架整合可以构建高效、灵活且安全的企业级Web应用程序。下面将分别介绍SSH中的每一个框架及其整合的关键点。 1. ...

    ssh2框架练习项目及代码

    在"ssh2框架练习项目及代码"中,我们可以深入学习和实践SSH2框架的核心功能和应用场景。 Spring框架是SSH2的核心,它提供了一个全面的基础设施,支持从简单的Bean管理到复杂的AOP(面向切面编程)和事务管理。...

    ssh.rar_vb ssh

    VB中的SSH应用可能涉及以下知识点: 1. SSH连接:创建SSH客户端对象,设置服务器地址、端口、用户名和认证方式。 2. 密钥管理:处理公钥和私钥文件,加载到VB程序中进行身份验证。 3. 远程命令执行:通过SSH通道...

    SSH详细教程SSH详细教程SSH详细教程

    - **应用程序集成**:SSH可用于增强Oracle等应用的安全性。 - **远程备份**:SSH可以用于远程备份操作,简化数据备份流程。 - **多因素认证**:结合SecurID卡等设备,实现更高级别的身份验证。 综上所述,SSH不仅是...

Global site tag (gtag.js) - Google Analytics