我们从底层讲起,众所周知,hibernate是ORM框架(对象关系数据库)映射框架,它允许我们以面向对象的观点操作数据库,因此我们要编写的第一层代码,名字为po层,放到po文件夹中,在这个文件夹里写入POJO+.hbm文件。
其中POJO是plain and old java object,你懂得,hbm是hibernate的配置文件,告诉hibernate对象类以及他们之间的关系如何映射到数据库。
package org.atm.po;
import java.io.*;
import java.util.*;
public class Atm implements Serializable{
private static final long serialVersionUID=49L;
private Integer id;
private String address;
private double money;
private Set<CardLog> cardlogs=new HashSet<CardLog>();
private Set<AtmLog> atmlogs=new HashSet<AtmLog>();
public Atm(){}
public Atm(Integer id, String address, double money,Set<CardLog> cardlogs,Set<AtmLog> atmlogs) {
super();
this.id = id;
this.address = address;
this.money = money;
this.cardlogs=cardlogs;
this.atmlogs=atmlogs;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public static long getSerialversionuid() {
return serialVersionUID;
}
public void setCardlogs(Set<CardLog> cardlogs)
{
this.cardlogs=cardlogs;
}
public Set<CardLog> getCardlogs()
{
return cardlogs;
}
public void setAtmlogs(Set<AtmLog> atmlogs)
{
this.atmlogs=atmlogs;
}
public Set<AtmLog> getAtmlogs()
{
return atmlogs;
}
public boolean equals(Object obj)
{
if(obj instanceof Card)
{
Atm atm=(Atm)obj;
if(atm.getId()==this.getId())
return true;
else return false;
}
else return false;
}
public int hashCode()
{
return this.getId()+this.getAddress().hashCode();
}
}
<?xml version="1.0" encoding="GBK"?>
<!-- 指定Hibernate映射文件的DTD信息 -->
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Hibernate映射文件的根元素 -->
<hibernate-mapping package="org.atm.po">
<class name="Atm" table="atm_table">
<id name="id" type="integer" column="atm_id">
<!-- 指定使用identity主键生成策略 -->
<generator class="identity"/>
</id>
<!-- 映射普通属性 -->
<property name="address" column="atm_address" type="string" length="50"/>
<property name="money" column="atm_money" type="double" />
<set name="cardlogs" inverse="true">
<key column="atm_id"/>
<one-to-many class="CardLog"/>
</set>
<set name="atmlogs" inverse="true">
<key column="atm_id"/>
<one-to-many class="AtmLog"/>
</set>
</class>
</hibernate-mapping>
关于hbm文件的配置是死的东西,不在赘述。在图中的每个对象都对应一个POJO+hbm文件。自此PO建立完毕,这一层叫做持久层。
分享到:
相关推荐
在这个"简单的ssh应用"中,我们将会探讨SSH框架的核心概念和它们如何协同工作。 Struts2是MVC(Model-View-Controller)设计模式的实现,负责处理HTTP请求并控制应用程序流程。它提供了丰富的拦截器机制,允许...
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和...
在"ssh2框架练习项目及代码"中,我们可以深入学习和实践SSH2框架的核心功能和应用场景。 Spring框架是SSH2的核心,它提供了一个全面的基础设施,支持从简单的Bean管理到复杂的AOP(面向切面编程)和事务管理。...
总之,"简单ssh2框架程序"是一个基于SSH2的Web应用程序,利用Spring管理业务组件,Struts2处理用户交互,Hibernate处理数据库操作。通过这三个框架的协同工作,实现了用户登录、注册和登出的基本功能,为更复杂的...
总的来说,SSH2_libSSH2_libSSH2_lib这个主题涉及到的是利用libSSH2库来开发SSH2协议相关的应用,涵盖了安全通信、远程操作和文件传输等多个方面。在实际开发中,理解libSSH2的工作原理和使用方法,对于构建安全的...
《轻量级JAVAEE企业应用实战SSH2整合开发》是一本深入浅出的教程,主要讲解如何使用Struts2、Hibernate和Spring这三大框架(SSH)进行集成开发,以实现高效、灵活的企业级应用程序。第二版针对初学者和有一定经验的...
OpenSSH是SSH协议的一种免费实现,广泛应用于各种操作系统中。 #### 二、如何确定使用的SSH版本 为了判断当前系统中安装的是OpenSSH还是SSH2,可以通过执行`ssh -V`命令来查看。命令的输出结果包含了SSH客户端的...
在实际应用中,WebSSH2可以用于远程系统管理、自动化任务执行、教学环境等,尤其适用于需要多用户同时访问同一远程服务器的场景。然而,安全性是此类应用的关键,因此需要确保正确配置和管理用户权限,以及使用安全...
SSH2框架,全称为Spring、Struts2和Hibernate2的集成框架,是Java Web开发中的一个常见组合。这个实例源码使用的是Spring 3.2、Struts2 2.3.4和Hibernate 4.2这三个框架的较新版本,提供了一个基础的用户登录和用户...
在企业级应用中,SSH的重要性不言而喻,因为它能够保证数据传输的安全性,防止敏感信息被窃取或篡改。下面将详细阐述SSH的核心功能、工作原理以及在企业中的应用。 SSH主要提供了以下功能: 1. **加密通信**:SSH...
SSH2jar包是SSH2框架的Java实现,它允许Java应用程序利用SSH协议进行安全通信。SSH2框架jar包提供了丰富的功能,包括但不限于: 1. **安全连接建立**:SSH2jar包支持通过公钥/私钥对进行身份验证,防止中间人攻击,...
本文将深入探讨 `ssh2` 模块的核心概念、功能以及如何在实际项目中应用。 ### SSH2 协议简介 SSH(Secure Shell)是一种网络协议,用于在不安全的网络上提供安全的远程登录和其他网络服务。它通过加密技术确保数据...
本文将深入探讨s2sh和ssh2的集成,以及它们在实际应用中的价值。 首先,让我们来了解s2sh集成。Struts2是一个强大的MVC(Model-View-Controller)框架,它为Java Web应用程序提供了结构和控制。Spring框架则是企业...
MyEclipse开发SSH2(Struts2+Spring+Hibernate)应用教程——根据软件工程原则简化实现的JSP+J2EE入门教程 摘要:SSH2(Struts2+Spring+Hibernate)是当前开发Java动态网站的流行框架。虽然其涉及的技术较为繁杂,...
这个库名为ganymed-ssh2-build,它允许Java应用程序与远程服务器建立SSH连接,执行命令,传输文件等。 Ganymed SSH-2库是由ETH Zurich(瑞士苏黎世联邦理工学院)开发的,它的主要类包括`ch.ethz.ssh2.Connection`...
这个“SSH2入门项目”显然是为初学者设计的,旨在帮助他们理解和应用SSH2技术。SSH2是SSH协议的第二版,提供了加密、身份验证和数据完整性检查,广泛用于网络管理、文件传输以及远程命令执行。 SSH2的核心功能包括...
在实际应用中,你可以利用PHP的SSH2扩展来执行一系列操作,比如通过SFTP安全地上传或下载文件、执行远程服务器的命令、监控系统状态,甚至在多服务器环境中进行分布式操作。使用这个扩展,PHP开发者可以创建强大的...
【使用SSH构建Web应用系统】 SSH(Struts、Spring、Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可扩展的Web应用。这个框架集合提供了MVC模式、依赖注入和对象关系映射等功能,极大地提高了开发...
Trilead SSH2库为Java开发者提供了一套强大的SSH(Secure Shell)实现,使得在Java应用中实现SSH连接变得简单而高效。本文将深入探讨Trilead SSH2库的功能、使用方法以及相关实践。 一、Trilead SSH2库简介 Trilead...
SSH2 jar包是一种常用于建立安全远程连接的Java库,主要应用于Secure Shell (SSH) 协议版本2。SSH协议提供了在网络中加密通信的能力,确保数据传输的安全性,避免了密码和其他敏感信息在传输过程中被窃取。SSH2 jar...