package com.rzpt.util;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Restrictions;
final public class HibernateUtil {
public static final int EQ = 0;// 等于
public static final int GT = 1;// 大于
public static final int LT = 2;// 小于
public static final int GE = 3;// 大于等于
public static final int LE = 4;// 小于等于
private static SessionFactory factory;
private static Session session;
static {
Configuration cfg = new Configuration();
cfg.configure();
factory = cfg.buildSessionFactory();
}
private HibernateUtil() {
}
public static SessionFactory getSessionFactory() {
return factory;
}
public static Session getSession() {
session = factory.openSession();
return session;
}
public static void save(Object object) {
try {
getSession();
Transaction t = session.beginTransaction();
session.save(object);
t.commit();
} finally {
if (session != null)
session.close();
}
}
public static Object get(Class clazz, Serializable id) {
try {
getSession();
return session.get(clazz, id);
} finally {
if (session != null)
session.close();
}
}
public static Object getAll(Class clazz) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static void update(Object object) {
try {
getSession();
Transaction t = session.beginTransaction();
session.update(object);
t.commit();
} finally {
if (session != null)
session.close();
}
}
public static void delete(Object object) {
try {
getSession();
Transaction t = session.beginTransaction();
session.delete(object);
t.commit();
} finally {
if (session != null)
session.close();
}
}
public static List query(Class clazz, String propertyName,
Serializable value) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
cri.add(Restrictions.eq(propertyName, value));
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List query(Class clazz, String propertyName,
Serializable value, int type) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
switch (type) {
case EQ:
cri.add(Restrictions.eq(propertyName, value));
break;
case GT:
cri.add(Restrictions.gt(propertyName, value));
break;
case LT:
cri.add(Restrictions.lt(propertyName, value));
break;
case LE:
cri.add(Restrictions.le(propertyName, value));
break;
case GE:
cri.add(Restrictions.ge(propertyName, value));
break;
}
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List queryByPagination(Class clazz, String propertyName,
Serializable value, int type, int start, int count) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
switch (type) {
case EQ:
cri.add(Restrictions.eq(propertyName, value));
break;
case GT:
cri.add(Restrictions.gt(propertyName, value));
break;
case LT:
cri.add(Restrictions.lt(propertyName, value));
break;
case LE:
cri.add(Restrictions.le(propertyName, value));
break;
case GE:
cri.add(Restrictions.ge(propertyName, value));
break;
}
cri.setFirstResult(start);
cri.setMaxResults(count);
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List query(Class clazz, Map map) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
cri.add(Restrictions.allEq(map));
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List query(Class clazz, Collection<Condition> conditions) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
for (Condition condition : conditions) {
switch (condition.getType()) {
case EQ:
cri.add(Restrictions.eq(condition.getPropertiyName(),
condition.getValue()));
break;
case GT:
cri.add(Restrictions.gt(condition.getPropertiyName(),
condition.getValue()));
break;
case LT:
cri.add(Restrictions.lt(condition.getPropertiyName(),
condition.getValue()));
break;
case LE:
cri.add(Restrictions.le(condition.getPropertiyName(),
condition.getValue()));
break;
case GE:
cri.add(Restrictions.ge(condition.getPropertiyName(),
condition.getValue()));
break;
}
}
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List queryByPagination(Class clazz, int start, int count) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
cri.setFirstResult(start);
cri.setMaxResults(count);
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List queryByPagination(Class clazz, Map map, int start,
int count) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
cri.add(Restrictions.allEq(map));
cri.setFirstResult(start);
cri.setMaxResults(count);
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List query(String hql) {
try {
getSession();
Query query = session.createQuery(hql);
List list = query.list();
return list;
} finally {
if (session != null)
session.close();
}
}
public static List queryByPagination(Class clazz, Map map,
Collection<Condition> conditions, int start, int count) {
try {
getSession();
Criteria cri = session.createCriteria(clazz);
for (Condition condition : conditions) {
switch (condition.getType()) {
case EQ:
cri.add(Restrictions.eq(condition.getPropertiyName(),
condition.getValue()));
break;
case GT:
cri.add(Restrictions.gt(condition.getPropertiyName(),
condition.getValue()));
break;
case LT:
cri.add(Restrictions.lt(condition.getPropertiyName(),
condition.getValue()));
break;
case LE:
cri.add(Restrictions.le(condition.getPropertiyName(),
condition.getValue()));
break;
case GE:
cri.add(Restrictions.ge(condition.getPropertiyName(),
condition.getValue()));
break;
}
}
cri.setFirstResult(start);
cri.setMaxResults(count);
List list = cri.list();
return list;
} finally {
if (session != null)
session.close();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
一个基于struts2+hibernate3.2的校园购物网
共217个文件
jpg:49个
jsp:35个
mno:34个
4星 · 超过85%的资源 需积分: 3 70 下载量 142 浏览量
2009-06-27
14:49:55
上传
评论 4
收藏 7.1MB RAR 举报
温馨提示
这个网站基于struts2和hibernate3.2,网站主要在于后台,前台页面没有太多实现,不是很好,但希望对你有帮助
资源推荐
资源详情
资源评论
收起资源包目录
一个基于struts2+hibernate3.2的校园购物网 (217个子文件)
HibernateUtil.class 9KB
UserModifyAction.class 3KB
RegisterAction.class 2KB
SellGoodsAction.class 2KB
GoodsModifyAction.class 2KB
MessageModifyAction.class 2KB
User.class 2KB
MessageAddAction.class 2KB
LoginAction.class 2KB
BackLoginAction.class 2KB
Goods.class 2KB
LoginMgr.class 1KB
Condition.class 1KB
Message.class 1KB
DateTimeUtil.class 1KB
BackLoginMgr.class 1004B
UserDeleteMgr.class 946B
MessageModifyMgr.class 855B
GoodsModifyMgr.class 835B
MessageShowMgr.class 707B
GoodsShowMgr.class 693B
UserShowMgr.class 686B
MessageDeleteMgr.class 593B
GoodsDeleteMgr.class 579B
MessageAddMgr.class 516B
UserModifyMgr.class 504B
GoodsAddMgr.class 492B
RegisterMgr.class 487B
.classpath 618B
org.eclipse.wst.common.component 426B
org.eclipse.wst.jsdt.ui.superType.container 49B
admincp.css 7KB
login.css 895B
style.css 784B
error.gif 20KB
menu_reduce.gif 74B
struts2-core-2.0.14.jar 2.22MB
hibernate3.jar 1.82MB
freemarker-2.3.8.jar 784KB
mysql-connector-java-5.0.4-bin.jar 484KB
xwork-2.0.7.jar 449KB
antlr-2.7.5H3.jar 423KB
log4j-1.2.11.jar 342KB
dom4j-1.6.1.jar 307KB
cglib-2.1.2.jar 276KB
commons-collections-2.1.1.jar 171KB
ognl-2.6.11.jar 164KB
junit-3.8.1.jar 118KB
ehcache-1.1.jar 46KB
commons-logging-1.0.4.jar 37KB
asm.jar 26KB
asm-attrs.jar 16KB
jta.jar 9KB
HibernateUtil.java 7KB
UserModifyAction.java 2KB
SellGoodsAction.java 2KB
RegisterAction.java 2KB
GoodsModifyAction.java 2KB
MessageModifyAction.java 1KB
User.java 1KB
LoginAction.java 1KB
MessageAddAction.java 1KB
BackLoginAction.java 1KB
Goods.java 1KB
Condition.java 910B
Message.java 772B
LoginMgr.java 771B
DateTimeUtil.java 748B
UserDeleteMgr.java 473B
MessageModifyMgr.java 422B
BackLoginMgr.java 405B
GoodsModifyMgr.java 397B
GoodsShowMgr.java 396B
MessageShowMgr.java 380B
UserShowMgr.java 360B
MessageDeleteMgr.java 279B
GoodsDeleteMgr.java 263B
MessageAddMgr.java 227B
UserModifyMgr.java 212B
GoodsAddMgr.java 201B
RegisterMgr.java 197B
layout_r1_c1.jpg 49KB
banner.jpg 13KB
layout_r6_c1.jpg 11KB
layout_r1_c6.jpg 8KB
J0289531.JPG 5KB
7.jpg 5KB
0.jpg 5KB
1.jpg 5KB
6.jpg 4KB
5.jpg 4KB
3.jpg 4KB
2.jpg 4KB
4.jpg 4KB
layout_r1_c7.jpg 2KB
layout_r13_c1_f2.jpg 2KB
layout_r13_c1_f3.jpg 2KB
layout_r13_c1.jpg 2KB
layout_r5_c5.jpg 2KB
layout_r5_c1.jpg 2KB
共 217 条
- 1
- 2
- 3
Li_ZiYue
- 粉丝: 21
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PDF合并器.exe\PyPDF2包\PyQt5库\PdfReader模块\PdfWriter模块
- 尚硅谷JavaWeb项目改造:SpringBoot+MybatisPlus重构微头条
- c&c++课程设计KTV歌曲系统,学生档案管理系统,个人收支系统,职工管理系统等
- 智器阅读-7.4.1-NOAD智器阅读修复版,修复没有存储卡,请确认SD卡已插入的问题,可以在安卓6.0以上手机
- HC06蓝牙模块控制小灯开关例程
- tmp_adb8e8467ff56ac6da80f420d95de0a0442e56ec0e6fa485.bin
- 基于普中51开发板的超声波测距+蜂鸣器报警 (附开发板原理图)
- 基于51单片机带WIFI和陀螺仪的超声波测距
- C#用socket实现局域网办公助理设计.rar
- Allwinner-F1C600-User-Manual-V1.0 pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页