使用Eclipse 
建立工程,源码目录为src 输出目录为bin 
基础类FontClass 有字段:long recordID、String fontName、Timestamp addTime 以及相应的set、get方法 
对应的数据库表为 
Font 
CREATE TABLE font( 
  recordID bigint(20) NOT NULL auto_increment, 
  fontName varchar(50) NOT NULL default '隶书', 
  addTime Timestamp, 
  PRIMARY KEY  (recordID) 
) TYPE=MyISAM; 
  
建立对应FontClass的hbm文件 
font.hbm.xml 
<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
   "-//Hibernate/Hibernate Mapping DTD//EN" 
   "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> 
  
<hibernate-mapping> 
    <class name=" FontClass" table="font"> 
        <id name="recordID" column="recordID"> 
           <generator class="increment"/> 
       </id> 
        <property name="fontName"/> 
        <property name="addTime"/> 
    </class> 
</hibernate-mapping> 
  
在src下面建立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-2.0.dtd"> 
  
<hibernate-configuration> 
    <session-factory name="java:/hibernate/HibernateFactory" > 
  
       <!-- local connection properties --> 
       <property name="hibernate.connection.url">jdbc:mysql://localhost/db</property> 
       <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
       <property name="hibernate.connection.username">xxx</property> 
       <property name="hibernate.connection.password">xxx</property> 
       <!-- property name="hibernate.connection.pool_size"></property --> 
  
       <!-- dialect for MySQL --> 
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property> 
  
        <property name="hibernate.show_sql">true</property> 
        <mapping resource="font.hbm.xml"/> 
    </session-factory> 
</hibernate-configuration> 
  
编写测试用例 
  
SessionFactory factory = new Configuration().configure().buildSessionFactory(); 
Session s = factory.openSession(); 
Transaction tx = s.beginTransaction(); 
MMSTemplateFontInfoClass font = new MMSTemplateFontInfoClass(); 
font.setFontName("隶书"); 
s.save(font);         
tx.commit(); s.flush();
  
查询可以使用 
List list = s.find("from FontClass where fontName='草书'"); 
这里要注意数据库的字符集要使用gbk 
或者使用 
Query q = s.createQuery("from FontClass"); 
        //  这句话的意思是说查询结果从第几行开始列出数据 
        q.setFirstResult(0); 
        //  这句话的意思是取多少条数据,就跟SQL SERVER的TOP方法和MYSQL的LIMIT方法一样的意思。 
        q.setMaxResults(3); 
        //  得到一个ScrollableResults,可滚动的,如果你的数据库支持游标自由移动的话可以加上, 
        //  也就是说可以判断查询结果有没有值,或者移动到下一行记录等等。 
        //ScrollableResults sc = q.scroll(); 
        //  返回一个List接口,用来遍历结果集         list = q.list(); 
 
  |