遨游Hibernate之一

来源:互联网 发布:miss淘宝店男装店 编辑:程序博客网 时间:2024/04/30 16:57
 写一个简单的Hibernate测试程序
1.使用软件:Eclipse3.2; Hibernate开发包3.2; MySQL5.0; MySQL驱动程序
2.程序目录结构
Hibernate_Mysql
       src
            BusinessManager
                   Test.java
            model
                    Student.java
                    Student.hbm.xml
  

        persistence
                     DAOImp.java
             hibernate.cfg.xml

3开始
***************************************************************

1.在Mysql 中创建数据库Student,然后建表student_table,表的字段对照Student.java的私有成员变量

2.编写java文件Student.java

/**
 * 
@author tiger Create Date 2006-11-25
 *
 * Blog: tiger.ptuhaiwai.com
 
*/

package model;

public class Student {
    
    
private String id;
    
private String uname;
    
private String pwd;
    
private String email;
    
private int age;
         
//此处补充get()/set()方法;
        
//提示使用Eclipse的代码产生工具来做

}

3.构建包路径,将Hibernate包下Hibernate3.2.jar,和lib/*.jar包加进来
   然后在添加mysql driver驱动包.

4.编写操作数据库的Java文件DAOImp.java/这里先放空,在<遨游二>在使用.

/**
 * 
@author tiger Create Date 2006-11-25
 *
 * Blog: tiger.ptuhaiwai.com
 
*/

package persistence;
import java.util.List;
import model.Student;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
public class DAOImp {

    
//public static void createStu(Student stu){}
    
//public static void delStu(String id){}
        
//public static void mdfStu(Student stu){}
        
//public static List getAllStu(){}
}

5.配置Hibernate的描述文件hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
>

<hibernate-configuration>
 
<session-factory>
   
<property name="show_sql">true</property>
   
<property name="connection.driver_class">
      com.mysql.jdbc.Driver
   
</property>
   
<property name="connection.url">
        jdbc:mysql://localhost:3306/Student
   
</property>
       
<property name="hibernate.connection.username">root</property>
    
<property name="hibernate.connection.password">123456</property>
   
<property name="dialect">
       org.hibernate.dialect.MySQLDialect
   
</property>
   
<property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
   
<mapping resource="model/Student.hbm.xml"/>
   
 
</session-factory>
</hibernate-configuration>

6.创建一个映射文件Student.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" 
>
<hibernate-mapping>

<class name="model.Student" table="Student_table">
<id name="id" unsaved-value="null">
 
<generator class="uuid.hex"/>
</id>
<property 
    
name="pwd" 
    type
="string" />
<property 
    
name="uname" 
    type
="string" />
<property 
    
name="email" 
    type
="string" />
<property 
    
name="age" 
    type
="int" />
    
</class>
</hibernate-mapping>

7.最后编写一个测试文件:Test.java
/**
 * 
@author tiger Create Date 2006-11-26
 *
 * Blog: tiger.ptuhaiwai.com
 
*/

package BusinessManager;
import model.Student;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;


/**
 * 
@author Administrator
 *
 
*/

public class Test {

    
/**
     * 
@param args
     
*/

    
public static void main(String[] args) {
        
// TODO Auto-generated method stub

        
try{
            SessionFactory sf 
= new Configuration().configure().buildSessionFactory();
            Session session 
= sf.openSession();
            Transaction tx 
= session.beginTransaction();
            
            Student u 
= new Student();
            u.setName(
"Justin");
            u.setPwd(
"fff");
            u.setAge(
11);
            u.setEmail(
"233131312");

            session.save(u);
            tx.commit();
            session.close();
        }
 catch (HibernateException e) {
            e.printStackTrace();
        }

    }


}


********************************************************
PS:运行时会提示的警告:....log4j not found.....Hibernate.property not found..........
那就把这两个文件加入到bin目录下(输出目录)
log4j.properties下面给个网上的某人的例子.
log4j.rootCategory=DEBUG,stdout,R

# Set the level to DEBUG if you want to log all SlideExceptions (some of them aren't errors)
log4j.category.org.apache.slide.common.SlideException
=FATAL

########################################
log4j.appender.stdout
=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout
=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
#log4j.appender.stdout.layout.ConversionPattern
=%5p [%t] (%F:%L) - %m%n
#log4j.appender.stdout.layout.ConversionPattern
=%4p [%t] %c - %m%n
log4j.appender.stdout.layout.ConversionPattern
=[%t] %-5p %-20c{2} - %m %n 

log4j.appender.R
=org.apache.log4j.RollingFileAppender
log4j.appender.R.File
=logger.log

log4j.appender.R.ImmediateFlush
=true

log4j.appender.R.MaxFileSize
=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex
=1

log4j.appender.R.layout
=org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern
=%p %t %c - %m%n
#log4j.appender.R.layout.ConversionPattern
=%4p [%t] %c - %m%n
log4j.appender.R.layout.ConversionPattern
=%d{ABSOLUTE} [%t] %-5p %-30c{3} %x - %m %n

hibernate.properties(在Hibernate包内)
原创粉丝点击