新新一个java项目,并新建javabean。如下:
TUser.java
package cn.ehoo.bean;
/**
*@author whp
*@Email whp@ehoo.cn
*@Nov 8, 2011
*
*/
public class TUser {
private Long id;
private String name;
private Integer age;
private Group group;
public Group getGroup() {
return group;
}
public void setGroup(Group group) {
this.group = group;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
Group.java
package cn.ehoo.bean;
/**
*@author whp
*@Email whp@ehoo.cn
*@Nov 8, 2011
*
*/
public class Group {
private Long id;
private String groupName;
public Group(String groupName) {
super();
this.groupName = groupName;
}
public Group() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getGroupName() {
return groupName;
}
public void setGroupName(String groupName) {
this.groupName = groupName;
}
}
2 TUser与Group类的配置文件
TUser.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
Group.hbm.xml
/p>
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
3、hibernate.cfg.xml 文件的配置
/p>
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
root
123
org.hibernate.dialect.MySQLDialect
thread
org.hibernate.cache.NoCacheProvider
true
true
update
4、hibernate Util类
package en.choo.util;
import java.io.Serializable;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
public final class HibernateUtil {
private static SessionFactory sessionFactory;
private static ThreadLocal session = new ThreadLocal();
private HibernateUtil() {
}
static {
try {
Configuration cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
}
public static Session getThreadLocalSession() {
Session s = (Session) session.get();
if (s == null) {
s = getSession();
session.set(s);
}
return s;
}
public static void closeSession() {
Session s = (Session) session.get();
if (s != null) {
s.close();
session.set(null);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static Session getSession() {
return sessionFactory.openSession();
}
public static void add(Object entity) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.save(entity);
tx.commit();
} finally {
if (s != null)
s.close();
}
}
public static void update(Object entity) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.update(entity);
tx.commit();
} finally {
if (s != null)
s.close();
}
}
public static void delete(Object entity) {
Session s = null;
Transaction tx = null;
try {
s = HibernateUtil.getSession();
tx = s.beginTransaction();
s.delete(entity);
tx.commit();
} finally {
if (s != null)
s.close();
}
}
public static Object get(Class clazz, Serializable id) {
Session s = null;
try {
s = HibernateUtil.getSession();
Object obj = s.get(clazz, id);
return obj;
} finally {
if (s != null)
s.close();
}
}
public static void main(String[] args) {
Session session = null;
session = getSession();
System.out.println(session);
}
}
5、hibernate相应的测试类
package cn.ehoo.test;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import cn.ehoo.bean.Group;
import cn.ehoo.bean.TUser;
import en.choo.util.HibernateUtil;
/**
* @author whp
* @Email whp@ehoo.cn
* @Nov 8, 2011
*
*/
public class TUserTest {
static Session session = null;
static Transaction tr = null;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
session = HibernateUtil.getSession();
tr = session.beginTransaction();
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
tr.commit();
}
@Test
public static void saveUser() {
TUser user = new TUser();
user.setAge(12);
user.setName("Wang Haipeng");
Group group = new Group("系统权限");
user.setGroup(group);
HibernateUtil.add(group);
HibernateUtil.add(user);
}
public static void main(String[] args) {
saveUser();
}
}
分享到:
2011-11-08 17:03
浏览 4754
评论