上篇博客利用Hibernate搭建起一個簡單的例子,把數據庫的映射顯示了出來在上一篇的博客基礎上這篇博客講述如何利用Hinbernate框架實現簡單的數據庫操作。
1、加入junit.jar
2、新建一個工具類HibernateUtils.Java把一些對session的公共操作封裝起來
~~~
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
/*
*讀取Hibernate.cfg.xml文件
*/
private static SessionFactory factory;
static {
try {
//讀取hibernate.cfg.xml文件
Configuration cfg = new Configuration().configure();
//建立SessionFactory
factory = cfg.buildSessionFactory();
}catch(Exception e) {
e.printStackTrace();
}
}
/*
*打開Session
*/
public static Session getSession() {
return factory.openSession();
}
/*
*關閉Session
*/
public static void closeSession(Session session) {
if (session != null) {
if (session.isOpen()) {
session.close();
}
}
}
public static SessionFactory getSessionFactory() {
return factory;
}
}
~~~
3、新建一個test類繼承TestCase(Junit包里面的)然后下面就利用test類對User對象的增、刪、改、查。
~~~
import java.util.Date;
import org.hibernate.Session;
import com.bjpowernode.hibernate.HibernateUtils;
import com.bjpowernode.hibernate.User;
import junit.framework.TestCase;
public class test extends TestCase {
/*
* 增加User
*/
public void testSave() {
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
User user = new User();
user.setName("李四");
user.setPassword("123");
user.setCreateTime(new Date());
user.setExpireTime(new Date());
session.save(user);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 刪除
*/
public void testDel(){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
User user=(User)session.load(User.class, "4028989545a244640145a24466300001");
session.delete(user);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 修改
*/
public void testUpdate(){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
user.setName("王五");
session.update(user);
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
/**
* 查詢
*/
public void testLoad(){
Session session = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();
User user=(User)session.load(User.class, "4028989545a243ca0145a243cbf80001");
System.out.println(user.getName());
System.out.println(user.getId());
System.out.println(user.getPassword());
System.out.println(user.getClass());
System.out.println(user.getCreateTime());
System.out.println(user.getExpireTime());
session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}
}
}
~~~
4、效果圖
增

刪

改

查

總結:
利用Hibernate簡單的增、刪、改、查操作的應用是一個很基礎的應用剛學Hibernate就應該先從簡單的學起。
- 前言
- 菜鳥學習Struts——配置Struts環境
- 菜鳥學習Struts——簡易計算器
- 菜鳥學習Struts——bean標簽庫
- 菜鳥學習Struts——Scope屬性
- 菜鳥學習Struts——國際化
- 菜鳥學習Struts——總結
- 菜鳥學習Hibernate——配置Hibernate環境
- 菜鳥學習Hibernate——持久層框架
- 菜鳥學習Hibernate——簡單的一個例子
- 菜鳥學習Hibernate——簡單的增、刪、改、查操作
- 菜鳥學習Hibernate——一對多關系映射
- 菜鳥學習Hibernate——多對多關系映射
- 菜鳥學習Hibernate——緩存
- 菜鳥學習Spring——初識Spring
- 菜鳥學習Spring——第一個例子
- 菜鳥學習Spring——60s讓你學會動態代理原理
- 菜鳥學習Spring——60s使用annotation實現簡單AOP
- 菜鳥學習Spring——60s配置XML方法實現簡單AOP
- 菜鳥學習Spring——60s利用JoinPoint獲取參數的值和方法名稱
- 菜鳥學習Spring——60s學會Spring與Hibernate的集成
- 菜鳥學習SSH——目錄
- 菜鳥學習Spring——SpringMVC注解版前臺向后臺傳值的兩種方式
- 菜鳥學習Spring——SpringMVC注解版在服務器端獲取Json字符串并解析
- 菜鳥學習Spring——SpringMVC注解版將URL中的參數轉成實體
- 菜鳥學習Spring——SpringMVC注解版解析不同格式的JSON串
- 菜鳥學習Spring——SpringIoC容器基于三種配置的對比