`
djsl6071
  • 浏览: 577993 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

myeclipse下hibernate入门实例介绍

阅读更多

myeclipse下hibernate初步实例

说明:本例采用myeclipse+sqlserver2000
 hibernate版本为3.0.
 数据库驱动为:jtds-1.0.2。

1。配置myeclipse环境(eclipse-SDK-3.1.1+myeclipse4.1.1GA_E3.1)。
2.配置好sqlserver2000数据库:建立数据库:goto  . 表 test_products

CREATE TABLE [dbo].[test_products] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [aotoid] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [username] [char] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [price] [int] NULL ,
 [amount] [int] NULL
)
id为自动编号。

3。新建项目--myeclipse--Web Project 。本例为:prodcast
4. 右单击prodcast,加入myeclipse的hibernate.并在此工程中建立数据连结。
建立完成后,在src下自动生成hibernate.cfg.xml,内容为:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
 <property name="connection.username">sa</property>
 <property name="connection.url">jdbc:jtds:sqlserver://192.168.1.88:1433;DatabaseName=goto</property>
 <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
 <property name="connection.password">hcsys</property>
 <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>

</session-factory>

</hibernate-configuration>
5。建立:Product.java:
package test.hibernate;

import java.io.Serializable;

public class Product implements Serializable {

 private static final long serialVersionUID = 3858043967100350732L;
 private Integer id;
 private String aotoid;
 private String username;
 private Integer price;
 private Integer amount;

 public Integer getAmount() {
  return amount;
 }
 public void setAmount(Integer amount) {
  this.amount = amount;
 }
 public String getAotoid() {
  return aotoid;
 }
 public void setAotoid(String aotoid) {
  this.aotoid = aotoid;
 }
 public Integer getPrice() {
  return price;
 }
 public void setPrice(Integer price) {
  this.price = price;
 }
 public String getUsername() {
  return username;
 }
 public void setUsername(String username) {
  this.username = username;
 }
 public Integer getId() {
  return id;
 }
 public void setId(Integer id) {
  this.id = id;
 } 
}
6.建立InsertProduct.java
package test.hibernate;

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.*;
import org.hibernate.classic.Session;

public class InsertProduct {

 public static void main(String[] args) {
  
  SessionFactory sf = new Configuration().configure()
       .buildSessionFactory();
  Session session = sf.openSession();
  Transaction tx = session.beginTransaction();
  
  Product p  = new Product();
  p.setAotoid("1");
  p.setUsername("zhang");
  p.setAmount(new Integer(10));
  p.setPrice(new Integer(10));
  System.out.println(p+"_______________1");
  try{
   session.save(p);
   tx.commit();
   session.close();
   System.out.println(p+"_______________2");
  }catch(Exception ex){
   ex.printStackTrace();
  }  
 }
}
7.在test.hibernate包下建立:Product.hbm.xml.
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
   
<hibernate-mapping package="test.hibernate">
 <class table="test_products" name="Product">
  <!--自动编号-->
  <id name="id" type="int" column="id" unsaved-value="0">
         <generator class="identity"/>
  </id>

  <property name="aotoid" column="aotoid" type="string" length="50"/> 
  <property name="username" column="username" type="string" length="50"/>    
  <property name="price" column="price" type="int"/>
  <property name="amount" column="amount" type="int"/>
 
 </class>

</hibernate-mapping>

8.打开hibernate.cfg.xml.加入:
 <mapping resource="hibernate.cfg.xml" />
 <mapping resource="test/hibernate/Product.hbm.xml" />
形成完整的config:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<!-- Generated by MyEclipse Hibernate Tools.                   -->
<hibernate-configuration>

<session-factory>
 <property name="connection.username">sa</property>
 <property name="connection.url">jdbc:jtds:sqlserver://192.168.1.88:1433;DatabaseName=goto</property>
 <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>
 <property name="connection.password">hcsys</property>
 <property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
 <mapping resource="hibernate.cfg.xml" />
 <mapping resource="test/hibernate/Product.hbm.xml" />

</session-factory>

</hibernate-configuration>
9.运行InsertProduct.java就可以看到数据库goto表test_products中增加了一条记录。 

 

使用myeclipse开发hibernate

1、myeclipse安装
启动eclipse3.0(我手头myeclipse好像不支持eclipse3.1)
Help->Software Updates->Manage Configuration...
在Eclipse Platform中选择Add an Extension Location,选择MyEclipse的目录,确定完成。
MyEclipse->Update SubScription,输入破解码。至此,myeclipse安装完成。
2、配置数据库驱动
Window->Preferences
点开MyEclipse->Database Explorer->Drivers
选择你所要配置的驱动->Edit,在Extra Class Path中new驱动的jar包,点击List Drivers,进行相关配置。
3、配置数据源
选择MyEclipse Database Explorer视图,new。选择刚才配置完成的数据库驱动。
4、创建支持Hibernate的Project
new一个Project,点击右键MyEclipse->Add Hibernate Capabilities,按提示进行相关配置,选择刚才配置完成的数据源。
至此,相关的hibernate框架就已经基本搭建完成。
5、数据库表映射到相应的类
数据源中选择相应的表,点击右键,Create Hibernate Mapping。
6、编写测试程序
========================================================
package com.shikai.hibernate;
import java.sql.SQLException;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
public class Test {
 public static void main(String[] args) throws HibernateException, SQLException{
  Session session = HibernateSessionFactory.currentSession();
  session.connection().setAutoCommit(true);
  TblUser user = new TblUser();
  user.setId(new Long("1002"));
  user.setName("dongrui");
  session.save(user);
  session.flush();
  HibernateSessionFactory.closeSession();  
 }
}
============================================================
注意:一定要session.connection().setAutoCommit(true);否则程序正常运行完成之后,数据不能成功入库
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics