Hibernate配置文件

来源:互联网 发布:知画生孩子视频 编辑:程序博客网 时间:2024/05/21 17:26

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.url">
   jdbc:mysql://localhost:3306/sky
  </property>
  <property name="connection.driver_class">
   com.mysql.jdbc.Driver
  </property>
  <property name="dialect">
   org.hibernate.dialect.MySQLDialect
  </property>
  <property name="myeclipse.connection.profile">MySQL</property>
  <property name="connection.username">root</property>
  <property name="connection.password">sky</property>

  <property name="show_sql">true</property>

  <mapping resource="test/hibernate/User.hbm.xml" />

 </session-factory>

</hibernate-configuration>

User.hbm.xml 配置如下 User为映射类

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
          "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

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

 <class name="test.hibernate.User" table="user">
  <id name="id" column="id" type="int">
   <generator class="increment" />
  </id>
  <property name="name" column="name" type="string"
   not-null="true" />
  <property name="password" column="password" type="string"
   not-null="true" />
 </class>

</hibernate-mapping>

映射类User

package test.hibernate;

public class User
{
 private int id;
 private String name;
 private String password;
 public int getId()
 {
  return id;
 }
 public void setId(int id)
 {
  this.id = id;
 }
 public String getName()
 {
  return name;
 }
 public void setName(String name)
 {
  this.name = name;
 }
 public String getPassword()
 {
  return password;
 }
 public void setPassword(String password)
 {
  this.password = password;
 }
}

DAO类

package test.hibernate;

import java.util.*;

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

public class TestUser
{
 public static SessionFactory sessionFactory;// 数据存储源
 static
 {
  try
  {
   Configuration config = new Configuration().configure();
   sessionFactory = config.buildSessionFactory();
  }
  catch (Exception e)
  {
   System.err.println("===================error===================");
   e.printStackTrace();
   System.err.println("===================error===================");
  }
 }

 public void saveUser(User user)
 {
  Session session = sessionFactory.openSession();
  Transaction tx = null;
  try
  {
   tx = session.beginTransaction();
   session.save(user);
   tx.commit();
  }
  catch (Exception e)
  {
   tx.rollback();
   e.printStackTrace();
  }
  finally
  {
   session.close();
  }
 }

 @SuppressWarnings("unchecked")
 public void findAll()
 {
  Session session = sessionFactory.openSession();
  Transaction tx = null;
  try
  {
   tx = session.beginTransaction();
   Query query = session.createQuery("from User as u order by u.id asc");
   List<User> list = query.list();
   Iterator<User> it = list.iterator();
   System.out.println("append:" + list.size());
   while (it.hasNext())
   {
    User user = it.next();
    System.out.println("ID:" + user.getId());
    System.out.println("Name:" + user.getName());
    System.out.println("Pass:" + user.getPassword());
   }
   tx.commit();
  }
  catch (Exception e)
  {
   tx.rollback();
  }
  finally
  {
   session.close();
  }
 }
 
 @SuppressWarnings("unchecked")
 public User getUser(String User_id)
 {
  Session session = sessionFactory.openSession();
  Transaction tx = null;
  User user = null;
  try
  {
   tx = session.beginTransaction();
   Query query = session.createQuery("from User where id = " + User_id);
   List<User> list = query.list();
   Iterator<User> it = list.iterator();
   while (it.hasNext())
   {
    user = it.next();
   }
   tx.commit();
  }
  catch (Exception e)
  {
   tx.rollback();
  }
  finally
  {
   session.close();
  }
  return user;
 }

 public void loadUpdate(int User_id, String name)
 {
  Session session = sessionFactory.openSession();
  Transaction tx = null;
  try
  {
   tx = session.beginTransaction();
   User user = (User) session.load(User.class, User_id);
   user.setName(name);
   tx.commit();
  }
  catch (Exception e)
  {
   if (tx != null)
   {
    tx.rollback();
   }
   e.printStackTrace();
  }
  finally
  {
   session.close();
  }

 }
 
 public void delUser(User user) {
  Session session = sessionFactory.openSession();
  Transaction tx = session.beginTransaction();// 开始一个事务
  session.delete(user);
  tx.commit();// 提交
 }

 public void test()
 {
//  User user = new User();
//  user.setName("sky");
//  user.setPassword("123");
//  this.saveUser(user);
  this.findAll();
//  this.loadUpdate(user.getId(),"phop");
//  User user = this.getUser("3");
//  this.delUser(user);
 }

 public static void main(String[] args)
 {
  TestUser tu = new TestUser();
  tu.test();
  sessionFactory.close();
 }

}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/sky16h/archive/2008/10/16/3085563.aspx