Hibernate CRUD 操作
Hibernate CRUD 操作
春泥村雨 发表于5个月前
Hibernate CRUD 操作
  • 发表于 5个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

1、定义一个返回 sessionFactory 的公共类

HibernateUtil.java

package com.bjsxt.util;

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

public class HibernateUtil
{
	private static SessionFactory sessionFactory;
	
	static
	{
		sessionFactory = new Configuration().configure().buildSessionFactory();
	}
	
	public static SessionFactory getSessionFactory()
	{
		return sessionFactory;
	}
}

2、CRUD 操作示例

package com.bjsxt.dao.impl;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.bjsxt.dao.UserDao;
import com.bjsxt.entity.User;
import com.bjsxt.util.HibernateUtil;

public class UserDaoImpl implements UserDao
{
	//新增
	@Override
	public boolean save(User u)
	{
		try
		{
			SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
			Session session = sessionFactory.getCurrentSession();
			session.beginTransaction();
			session.save(u);
			session.getTransaction().commit();
			return true;
		}
		catch (Exception e)
		{
			e.printStackTrace();
			return false;
		}
	}
	
	//基于条件查询
	@Override
	public boolean checkUserExistsWithName(String username)
	{
		SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
		Session session = sessionFactory.getCurrentSession();
		session.beginTransaction();
		long count = (long) session.createQuery("select count(*) from User u where u.username= :username")
				.setString("username", username)
				.uniqueResult(); // //当确定返回的实例只有一个或者null时用uniqueResult()方法
		session.getTransaction().commit();
		if (count > 0)
		{
			return true;
		}
		return false;
	}
	
	//查询所有
	@Override
	public void queryAll()
	{
		SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
		Session session = sessionFactory.getCurrentSession();
		session.beginTransaction();
		List list = session.createQuery("from User").list();
		for(int i=0;i<list.size();i++)
		{
			User user=(User)list.get(i);
			System.out.println(user.getId()+":"+user.getUsername());
		}
		session.getTransaction().commit();
		System.out.println(list);
	}
}

标签: Hibernate Java
共有 人打赏支持
粉丝 0
博文 8
码字总数 1794
×
春泥村雨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: