您的位置:首页 > 其它

hibernate基本操作增删改查

2017-01-22 22:44 344 查看
之前写过两篇配置hibenate文章,今天说一下hibernate增、删、改、查。update、delete 方法一定要开启事务,commit后才能执行。BaseTest.java有详细使用方法。

BaseDao.java

package com.test.hibernate;

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

import java.util.List;

public class BaseDao {

/**
* @param obj
* @return
*/
public int save(Object obj){
Configuration configuration = new Configuration().configure();
SessionFactory sFactory = configuration.buildSessionFactory();
Session session = sFactory.openSession();
try {
session.save(obj);
return 1;
}catch(HibernateException  e){
e.printStackTrace();
}finally {
session.close();
}
return 0;
}

/**
* @param obj
* @return
*/
public int update(Object obj){
Configuration configuration = new Configuration().configure();
SessionFactory sFactory = configuration.buildSessionFactory();
Session session = sFactory.openSession();
Transaction transaction = session.beginTransaction();
try {
session.update(obj);
transaction.commit();
return 1;
}catch(HibernateException  e){
transaction.rollback();
e.printStackTrace();
}finally {
session.close();
}
return 0;
}

public Object get(Class cls, java.io.Serializable id){
Configuration configuration = new Configuration().configure();
SessionFactory sFactory = configuration.buildSessionFactory();
Session session = sFactory.openSession();
try {
return  (Object) session.get(cls, id);
}catch(HibernateException  e){
e.printStackTrace();
} finally {
session.close();
}
return null;
}

public List<?> list(String hql){

Configuration configuration = new Configuration().configure();
SessionFactory sFactory = configuration.buildSessionFactory();
Session session = sFactory.openSession();
try {
Query<?> query = session.createQuery(hql);
List<?> list = query.getResultList();
return list;
} catch (HibernateException e) {
e.printStackTrace();
}finally{
session.close();
}
return null;
}

public void delete(Object obj){
Configuration configuration = new Configuration().configure();
SessionFactory sFactory = configuration.buildSessionFactory();
Session session = sFactory.openSession();
Transaction transaction = session.beginTransaction();
try {
session.delete(obj);
transaction.commit();
}catch(HibernateException  e){
transaction.rollback();
e.printStackTrace();
} finally {
session.close();
}
}
}


BaseTest.java

package com.test.hibernate;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import com.test.bean.Collection;

/**
* @author
*
*/
public class BaseTest {

BaseDao base;
Collection collection;
String datetime;

/**
* @throws java.lang.Exception
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
}

/**
* @throws java.lang.Exception
*/
@AfterClass
public static void tearDownAfterClass() throws Exception {
}

/**
* @throws java.lang.Exception
*/
@Before
public void setUp() throws Exception {
base = new BaseDao();
collection = new Collection();
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
datetime = simpleDateFormat.format(date);
}

/**
* @throws java.lang.Exception
*/
@After
public void tearDown() throws Exception {
}

public void testlist() {
System.out.println("list ------------------------ ");
String hql = "from com.test.bean.Collection";
List list = base.list(hql);
// 列表
for (int i = 0; i < list.size(); i++) {
Collection colle = (Collection) list.get(i);
System.out.println("{id:" + colle.getId() + ",name:" + colle.getName() + "}");
}
}

@Test
public void testsave() {

Collection collection = new Collection();
collection.setName("我的收藏");
collection.setUserid(1);
collection.setUsername("wayne");
collection.setUrl("https://www.baidu.com");
collection.setDateTime(datetime);
base.save(collection);
}

@Test
public void testupdate() {
collection = (Collection) base.get(Collection.class, 1);
collection.setName("我的收藏");
collection.setUserid(1);
collection.setUsername("wayne");
collection.setUrl("https://www.baidu.com");
collection.setDateTime(datetime);
base.update(collection);
}

@Test
public void testdelete() {
collection = (Collection) base.get(Collection.class, 2);
System.out.println(collection.getId());
base.delete(collection);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  增删改查 hibernate