hibernate 增删改查操作

package com.xunfang.em_mallServer.util;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Expression;

import com.xunfang.em_mallServer.bean.Admin;
import com.xunfang.em_mallServer.bean.MainType;

/**
 * @description hibernate的增删改查
 * @author Administrator
 * 
 */
@SuppressWarnings("deprecation")
public class HibernateCRUD {

	/**
	 * @param args
	 */
	@SuppressWarnings( {})
	public static void main(String[] args) {

		if (delete4MainType("mt01")) {
			System.out.println("success!");
		} else {
			System.out.println("fail!");
		}
	}

	/**
	 * @description 查找Admin表中的指定字段
	 * @param Namefield
	 *            字段名
	 * @param value
	 *            匹配值
	 * @return List<Admin>
	 */
	@SuppressWarnings("unchecked")
	public static List<Admin> queryAdmin(String Namefield, String value) {
		List<Admin> list = null;

		try {
			Configuration cfg = new Configuration().configure();
			SessionFactory sf = cfg.buildSessionFactory();
			Session ses = sf.openSession();
			// select * from t_admin where a_name=xx;
			Criteria c = ses.createCriteria(Admin.class);// Admin.hbm.xml中定义的字段
			c.add(Expression.eq(Namefield, value));
			list = c.list();
		} catch (HibernateException e) {
			System.out.println("hibernate exception");
			e.printStackTrace();
			return list;
		}

		return list;
	}

	/**
	 * @description 查找t_main_type表中的所有字段
	 * @param Namefield
	 *            字段名
	 * @param value
	 *            匹配值
	 * @return List<MainType>
	 */
	@SuppressWarnings("unchecked")
	public static ArrayList<MainType> queryMainType() {
		ArrayList<MainType> list = null;

		try {
			Configuration cfg = new Configuration().configure();
			SessionFactory sf = cfg.buildSessionFactory();
			Session ses = sf.openSession();
			// select * from t_main_type
			Criteria c = ses.createCriteria(MainType.class);
			// c.add(Expression.eq(Namefield, value));
			list = (ArrayList<MainType>) c.list();
		} catch (HibernateException e) {
			System.out.println("hibernate exception");
			e.printStackTrace();
			return list;
		}

		return list;
	}

	/**
	 * @description 向t_main_type表插入新类别 insert into t_main_type('mt00','类别名');
	 */
	public static boolean insert2MainType(MainType mainType) {
		Session ses = null;
		SessionFactory sf = null;
		try {
			Configuration cfg = new Configuration().configure();
			sf = cfg.buildSessionFactory();
			ses = sf.openSession();

			Transaction trans = ses.beginTransaction();
			ses.save(mainType);
			trans.commit(); // 任何有关数据库更新的操作都是commit后进数据库的

		} catch (HibernateException e) {
			System.out.println("exception-->" + e);
			e.printStackTrace();
			return false;
		} finally {
			// sf.close();
			ses.close();
		}
		return true;
	}

	/**
	 * @description 修改t_main_type表的m_name update t_main_type set m_name='食物'
	 *              where m_id='mt01';
	 */
	public static boolean updateMainType(String name, String id) {
		Session ses = null;
		SessionFactory sf = null;
		try {
			Configuration cfg = new Configuration().configure();
			sf = cfg.buildSessionFactory();
			ses = sf.openSession();

			Transaction trans = ses.beginTransaction();
			MainType mainType = (MainType) ses.get(MainType.class, id); // 找到需要修改的字段
			mainType.setmName(name); // 执行修改
			ses.save(mainType); // 提交操作
			trans.commit();

		} catch (HibernateException e) {
			System.out.println("exception-->" + e);
			e.printStackTrace();
			return false;
		} finally {
			// sf.close();
			ses.close();
		}
		return true;
	}

	/**
	 * @description 删除t_main_type表的指定字段 delete * from t_main_type where
	 *              m_id='mt01';
	 */
	public static boolean delete4MainType(String id) {
		Session ses = null;
		SessionFactory sf = null;
		try {
			Configuration cfg = new Configuration().configure();
			sf = cfg.buildSessionFactory();
			ses = sf.openSession();

			Transaction trans = ses.beginTransaction();
			MainType mainType = (MainType) ses.get(MainType.class, id); // 找到需要修改的字段
			ses.delete(mainType); // 提交操作
			trans.commit();

		} catch (HibernateException e) {
			System.out.println("exception-->" + e);
			e.printStackTrace();
			return false;
		} finally {
			// sf.close();
			ses.close();
		}
		return true;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值