当前位置: 代码迷 >> Web前端 >> Hibernate简况续
  详细解决方案

Hibernate简况续

热度:291   发布时间:2012-11-22 00:16:41.0
Hibernate概况续

<!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="connection.driver_class">com.mysql.jdbc.Driver</property>
  <property name="connection.url">jdbc:mysql:///isoftstone</property>
  <property name="connection.username">root</property>
  <property name="connection.password">520123412</property>  
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  
  <property name="hbm2ddl.auto">update</property>
  <property name="show_sql">true</property>
  
  <mapping resource="com/isoftstone/domain/User.hbm.xml"/>
 </session-factory>
</hibernate-configuration>

 

package com.isoftstone.domain;

import java.util.Date;

public class User {
 private int id;
 private String name;
 private Date birthday;

 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 Date getBirthday() {
  return birthday;
 }

 public void setBirthday(Date birthday) {
  this.birthday = birthday;
 }

}

<?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 package="com.isoftstone.domain">
 <class name="User">
  <id name="id">
   <generator class="native" />
  </id>
  <property name="name" unique="true"/>
  <property name="birthday" />
 </class>
</hibernate-mapping>

 

package com.isoftstone.hiberhate;

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

public final class HibernateUtil {
 private static SessionFactory sessionFactory;
 private HibernateUtil(){
  
 }
 static{
  Configuration cfg = new Configuration();
  cfg.configure();//()里面的内容为读取的配置文件名,当不上默认配置文件名的时候就用它来指定
  sessionFactory = cfg.buildSessionFactory(); 
 }
 public static SessionFactory getSessionFactory(){
  return sessionFactory;
 }
 public static Session getSession(){
  return sessionFactory.openSession();
 }
}

package com.isoftstone.hiberhate;

import java.util.Date;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.Transaction;
import com.isoftstone.domain.User;

public class Base {
 public static void main(String[] args){  
  User user=new User();
  user.setName("wangjin2");
  user.setBirthday(new Date());
  addUser(user);
  System.out.println("id:"+user.getId());
 
 }
 static User getUser(int id){
  Session s=null;
  try{
   s=HibernateUtil.getSession();
   User user=(User)s.get(User.class, id);
   return user;
  }finally{
   if(s!=null)
    s.close();
  }
 }
 static void addUser(User user){
  Session s=null;
  Transaction tx=null;
  try{
   s=HibernateUtil.getSession();
   tx=s.beginTransaction();   
   s.save(user);
   tx.commit();
  }catch(HibernateException e){
   if(tx!=null)
    tx.rollback();
   throw e;   
  }finally{
   if(s!=null)
    s.close();
  }
 }
 static void addUser1(User user){
  Session s=null;
  Transaction tx=null;
  try{
   s=HibernateUtil.getSession();
   tx=s.beginTransaction();   
   s.save(user);
   tx.commit();
  }finally{
   if(s!=null)
    s.close();
  }
 }
}

 

  相关解决方案