网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.正确使用String类的几点注意.
.Java程序中的多线程.
.Java入门及faq__1(1).
.在 java 里面调用 CUI 程序的方法.
.Thinking:Java中static、this、s.
.Java入门:状态对象--数据库的替.
.Java核心代码例程之:(EJB) Remo.
.Java数组学习心得,欢迎拍砖.
.降低Java虚拟机的风险.
.Java模式设计之多态模式与多语言.
.设计自己的printpreviewdialog.
.EJB 3.0是Hibernate的克隆吗?.
.在servlet中直接写端口发送邮件的.
.使用Java蓝牙无线通讯技术API概述.
.Java秘史:隐藏在SWT/Swing背后的.
.JAVA相关基础知识(4).
.java类加载的表现形式.
.开发Java系统程序员要注意的基本.
.Linux操作系统中java语言package.
.使用JMS在集群应用程序中分配任务.

开发框架hibernate3.0开发实例

发表日期:2008-1-5



  建议是有一点点是一点点基础的人又没有hibernate基础和经验的人比较适合(所谓一点点基础是最起码不要我介绍一些配置文件的什么的.).注重我用的JDBC驱动com.inet.tds.TdsDriver
  
  大家一起努力学习吧.
  
  建立PO对象
  
  建PO对象Customer、Order以及它们的hibernate配置文件
  
  /*
  * Created on 2005-10-12
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
  package testdemo;
  
  import java.util.HashSet;
  import java.util.Set;
  
  /**
  * @author liuzj
  *
  * TODO To change the template for this generated type comment go to Window -
  * Preferences - Java - Code Style - Code Templates
  */
  
  public class Customer {
  private int id;
  
  private String username;
  
  private String passWord;
  
  private Set orders = new HashSet();
  
  public Customer() {
  }
  
  public Customer(String username, String password, Set orders) {
  this.username = username;
  this.password = password;
  
  this.orders = orders;
  
  }
  
  public int getId() {
  return id;
  }
  
  public String getPassword() {
  return password;
  }
  
  public String getUsername() {
  return username;
  }
  
  public Set getOrders() {
  return orders;
  }
  
  public void setId(int id) {
  this.id = id;
  }
  
  public void setPassword(String password) {
  this.password = password;
  }
  
  public void setUsername(String username) {
  this.username = username;
  }
  
  public void setOrders(Set orders) {
  this.orders = orders;
  }
  
  }
  
  <?XML version="1.0"?>
  <!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  <hibernate-mapping>
  <class name="testdemo.Customer" table="CUSTOMER" dynamic-insert="true" dynamic-update="true">
  <id name="id" column="ID">
  <generator class="increment" />
  </id>
  <property name="username" column="USERNAME" />
  <property name="password" column="PASSWORD" />
  
  <set
  name="orders"
  inverse="true"
  cascade="save-update"
  >
  <key column="CUSTOMER_ID" />
  <one-to-many class="testdemo.Order" />
  </set>
  
  </class>
  </hibernate-mapping>
  
  /*
  * Created on 2005-10-13
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
  package testdemo;
  
  /**
  * @author liuzj
  *
  * TODO To change the template for this generated type comment go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
  
  import java.io.Serializable;
  public class Order implements Serializable {
  
  private Long id;
  private String orderNumber;
  private double price;
  private Customer customer;
  
  public Order() {
  }
  public Order(String orderNumber,double price,Customer customer) {
  this.orderNumber=orderNumber;
  this.price=price;
  this.customer=customer;
  }
  public Long getId() {
  return this.id;
  }
  
  public void setId(Long id) {
  this.id = id;
  }
  
  public String getOrderNumber() {
  return this.orderNumber;
  }
  
  public void setOrderNumber(String orderNumber) {
  this.orderNumber = orderNumber;
  }
  
  public Customer getCustomer() {
  return this.customer;
  }
  
  public void setCustomer(Customer customer) {
  this.customer = customer;
  }
  
  public double getPrice(){
  return this.price;
  }
  private void setPrice( double price ){
  this.price = price;
  }
  }
  
  <?xml version="1.0"?>
  <!DOCTYPE hibernate-mapping PUBLIC
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  
  <hibernate-mapping package="testdemo">
  
  <class name="Order" table="ORDERS">
  
  <id name="id">
  <generator class="increment"/>
  </id>
  
  <property name="orderNumber" column="ORDER_NUMBER"/>
  <property name="price" />
  
  <many-to-one
  name="customer"
  column="CUSTOMER_ID"
  class="Customer"
  not-null="true"
  />
  
  </class>
  </hibernate-mapping>
  
  上面的PO已经建立完成,下面是一个测试类
  
  /*
  * Created on 2005-10-12
  *
  * TODO To change the template for this generated file go to
  * Window - Preferences - Java - Code Style - Code Templates
  */
  package testdemo;
  
  import java.util.HashSet;
  
  import org.hibernate.Session;
  import org.hibernate.SessionFactory;
  import org.hibernate.Transaction;
  import org.hibernate.cfg.Configuration;
  
  import testdemo.Customer;
  
  /**
  * @author liuzj
  *
  * TODO To change the template for this generated type comment go to Window -
  * Preferences - Java - Code Style - Code Templates
  */
  
  public class Test {
  
  SessionFactory sessionFactory = new Configuration().configure().addClass(
  testdemo.Customer.class).addClass(Order.class).buildSessionFactory();
  Session session = sessionFactory.openSession();
  public void saveCustomer(Customer customer) throws Exception {
  
  Transaction tx = null;
  try {
  tx = session.beginTransaction();
  session.save(customer);
  
  tx.commit();
  
  } catch (Exception e) {
  if (tx != null) {
  tx.rollback();
  }
  throw e;
  } finally {
  session.close();
  }
  }
  
  public void testmethod()throws Exception
  {
  Customer customer=new Customer("lzhengj","001",new HashSet());
  Order order1=new Order("Order",1000,customer);
  Order order2=new Order("Order",2000,customer);
  customer.getOrders().add(order1);
  customer.getOrders().add(order2);
  this.saveCustomer(customer);
  
  }
  
  public static void main(String[] args) {
  
  try{
  new Test().testmethod();
  
  }catch(Exception e)
  {
  System.out.println("this is the testmethod throw exception.....");
  e.printStackTrace();
  }
  
  }
  }
  
  ok,下面是一个hibernate的配置hibernate.cfg.xml(位于应用目录下面)
  
  <!DOCTYPE hibernate-configuration PUBLIC
  "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  <hibernate-configuration>
  <session-factory>
  <property name="hibernate.connection.url">
  jdbc:inetdae:localhost:1433?charset=gbk&database=hibernate_test
  </property>
  <property name="hibernate.connection.driver_class">
  com.inet.tds.TdsDriver
  </property>
  <property name="hibernate.connection.username">
  sa
  </property>
  <property name="hibernate.connection.password">
  aa
  </property>
  <property name="hibernate.dialect">
  org.hibernate.dialect.SQLServerDialect
  </property>
  <property name="show_sql">
  true
  &
上一篇:Web环境Hibernate数据源问题补充 人气:608
下一篇:Java语言已成为手机通讯标准 微软恐难夺天下 人气:582
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐