Hibernate,一个O/R Mapping产品,入门非常容易,今天才开始看,做了个例子。贴出来大家参考!  环境如下:   开发的IDE:JBuilderX   使用的数据库:My Sql 4.0   使用的数据库驱动:MySQL JDBC Driver 
1.JBX下建立WEB应用程序hib.jpx。 2.Project Properties->Paths->Required Libraries->add->new 这里定义hibernate的类库 把hibernate的lib下面的所有jar包进去 当然还有hibernate2.jar也要;new定义mysql把MySQL JDBC Driver的jar包进去。 2、在属性里的Required Libraries里加入hibernate和mysql; 3.建立相应文件,其详细结构如下:    ---hib      |      |-----hib(下面文件自动生成)      |-----src        |-----hib            |-----Create.java   (建立person表)            |-----Insert.java   (向person表插入记录)            |-----Person.java              |-----mysql.txt     (person表SQL脚本)            |-----Person.hbm.xml(映射文件)        |-----hibernate.properties (从hibernate的src下面找到,要进行修改)         |-----log4j.properties     (从hibernate的src下面找到)  4.原文件如下:    Create.java package hib; 
import net.sf.hibernate.Session; import net.sf.hibernate.Transaction; import net.sf.hibernate.SessionFactory; import net.sf.hibernate.cfg.Configuration; import net.sf.hibernate.tool.hbm2ddl.SchemaExport; 
/**  *本类只是用来创建表的,并不往表内部插入任何数据,并且只能使用一次,否则会删除已有的表的  */ public class Create {   private static SessionFactory sessionFactory; 
  public static void main(String[] args) throws Exception   {     Configuration conf = new Configuration().addClass(Person.class); 
    //第一次运行时用来在数据库中创建表     //并且把sql语句输出到txt文件用的     //以后的运行不能使用该段代码,否则每次都会先删除原表,再新建该表     SchemaExport dbExport = new SchemaExport(conf);     dbExport.setOutputFile("mysql.txt");     dbExport.create(true, true);   } }    Insert.java package hib; 
import net.sf.hibernate.Session; import net.sf.hibernate.Transaction; import net.sf.hibernate.SessionFactory; import net.sf.hibernate.cfg.Configuration; import net.sf.hibernate.tool.hbm2ddl.SchemaExport; 
public class Insert {   private static SessionFactory sessionFactory; 
  public static void main(String[] args) throws Exception   {     Configuration conf = new Configuration().addClass(Person.class);     sessionFactory = conf.buildSessionFactory();     Session s = sessionFactory.openSession(); 
    Transaction t = s.beginTransaction(); 
    Person yuj = new Person();     yuj.setName("john");     yuj.setAddress("上海"); 
    Person x = new Person();     x.setName("zhaoyh");     x.setAddress("上海"); 
    //持久化     s.save(yuj); //此时yuj已经可以在数据库中找到     s.save(x);    //此时x已经可以在数据库中找到 
    t.commit();     s.close();   } }    Person.java package hib; 
public class Person {   private String id;   private String name;   private String address; 
  public void setId(String value)   {     this.id = value;   } 
  public String getId()   {     return id;   } 
  public void setName(String value)   {     this.name = value;   } 
  public String getName()   {     return name;   } 
  public void setAddress(String value)   {     this.address = value;   } 
  public String getAddress()   {     return address;   } }    hibernate.properties hibernate.dialect net.sf.hibernate.dialect.MySQLDialect hibernate.connection.driver_class org.gjt.mm.mysql.Driver hibernate.connection.url jdbc:mysql:///test?useUnicode=true&characterEncoding=gb2312 hibernate.connection.username root hibernate.connection.password    Person.hbm.xml <?xml version="1.0" encoding="GB2312"?> <!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" > <hibernate-mapping>     <class name="hib.Person">         <!--hibernate为我们生成主键id-->         <id name = "id" unsaved-value = "null">             <generator class="uuid.hex"/>         </id> 
        <!--默认把类的变量映射为相同名字的表列,当然我们可以修改其映射方式-->         <property name="name"/>         <property name="address"/>     </class> </hibernate-mapping>    mysql.txt CREATE TABLE person (    id varchar(20) NOT NULL,             name varchar(50) NOT NULL,      address varchar(80) NOT NULL         ); 4.运行Create.java Insert.java,将会在你的test中建立person表,并插入两行记录!(已解决乱码问题,jdbc:mysql:///test?useUnicode=true&characterEncoding=gb2312) 
   
 
  |