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;
}
}