hibernate学习笔记之(第一个Hibernate项目)

1、新建java项目

2、创建User Library,加入如下jar
 * HIBERNATE_HOME/hibernate3.jar
 * HIBERNATE_HOME/lib/*.jar
 * MySql jdbc驱动
 
3、创建hibernate配置文件hibernate.cfg.xml,为了便于调试最好加入log4j配置文件

<!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:mysql://localhost/hibernate_first</property>
  <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="hibernate.connection.username">root</property>
  <property name="hibernate.connection.password">admin</property>
  <!--hibernate.dialect方言-->
  <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="hibernate.show_sql">true</property>
  <mapping resource="com/bjsxt/hibernate/User.hbm.xml"/>
 </session-factory>
</hibernate-configuration>


4、定义实体类

5、定义User类的映射文件User.hbm.xml

<?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="com.bjsxt.hibernate.User">
  <id name="id">
  <generator class="uuid"/>
  </id>
  <property name="name"/>
  <property name="password"/>
  <property name="createTime"/>
  <property name="expireTime"/>
 </class>
</hibernate-mapping>

6、将User.hbml.xml文件加入到hibernate.cfg.xml文件中
<mapping resource="com/bjsxt/hibernate/User.hbm.xml"/>

7、编写hbm2ddl工具类,将实体类生成数据库表

ExportDB.java
public static void main(String[] args) {
 Configuration cfg=new Configuration().configure();//这样默认读的才是.xml文件
 SchemaExport export=new SchemaExport(cfg);
 export.create(true, true);
 }
8、开发客户端
 Client.java

 public static void main(String[] args) {
  // 读取hibernate.cfg.xml
  Configuration cfg = new Configuration().configure();
  // 创建sessionFactory
  SessionFactory sessionFactory = cfg.buildSessionFactory();

  Session session = null;
  try {
   session=sessionFactory.openSession();
   session.beginTransaction();
   User user = new User();
   user.setName("张三");
   user.setPassword("123");
   user.setCreateTime(new Date());
   user.setExpireTime(new Date());
   // 默认autocommit是false;
   session.save(user);
   // 得到上下文
   session.getTransaction().commit();
  } catch (Exception ex) {
   ex.printStackTrace();
   session.getTransaction().rollback();
  } finally {
   if (session != null) {
    if (session.isOpen()) {
     session.close();
    }
   }
  }
 }


为了方便跟踪sql执行,在hibernate.cfg.xml文件中加入<property name="hibernate.show_sql">true</property>

posted @ 2009-08-07 16:16  superGG  阅读(809)  评论(0编辑  收藏  举报