package com.common.dao.handler.imp.spring;
import java.io.Serializable;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.ScrollMode;
import org.hibernate.ScrollableResults;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import com.common.dao.handler.IHandler;
/**
* @className:BaseDAO.java
* @classDescription:spring持久层
* @author:xiayingjie
* @createTime:2010-10-7
*/
@Repository("springHandler")
public class SpringHandler extends HibernateDaoSupport implements IHandler {
// private static final Log log = LogFactory.getLog(SpringHandler.class);
boolean flag = false;
/**
* 为父类HibernateDaoSupport注入sessionFactory的值
*
* @param sessionFactory
*/
@Resource(name = "sessionFactory")
public void setSuperSessionFactory(SessionFactory sessionFactory) {
super.setSessionFactory(sessionFactory);
}
/**
* 保存对象
*
* @param obj
* 要保存的对象
* @return 布尔值
*/
public boolean saveObj(Object obj) {
try {
this.getHibernateTemplate().save(obj);
flag = true;
} catch (Exception e) {
// log.error(obj.getClass().getName()+"在spring-hibearnate刪除出现异常");
e.printStackTrace();
}
return flag;
}
/**
* 删除对象
*
* @param objQ
* 要删除的对象
* @return 布尔值
*/
public boolean deleteObj(Object obj) {
try {
this.getHibernateTemplate().delete(obj);
flag = true;
} catch (Exception e) {
// log.error(obj.getClass().getName()+"在spring-hibearnate刪除出现异常");
flag = false;
}
return flag;
}
/**
* 修改对象
*
* @param obj
* 要修改的对象
* @return 布尔值
*/
public boolean alterObj(Object obj) {
try {
this.getHibernateTemplate().saveOrUpdate(obj);
flag = true;
} catch (Exception e) {
// log.info(obj.getClass().getName()+"在spring-hibearnate修改出现异常");
e.printStackTrace();
flag = false;
}
return flag;
}
/**
* 根据id查询对象
*
* @param className
* 类名
* @param id
* 类id
* @return 对象
*/
public Object findObjById(Class className, Serializable id) {
if (null == id || "".equals(id)) {
return null;
} else {
return this.getHibernateTemplate().get(className, id);
}
}
/**
* 根据id查询延时对象
*
* @param className
* 类名
* @param id
* 类id
* @return 对象
*/
public Object findObjByIdLoad(Class className, Serializable id) {
if (null == id || "".equals(id)) {
return null;
} else {
return this.getHibernateTemplate().load(className, id);
}
}
/**
* 查询对象
*
* @param hql
* 查找语句
* @return 对象
*/
public Object findObj(final String hql) {
if (null == hql || "".equals(hql)) {
return null;
}
return this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
query.setFirstResult(0);
query.setMaxResults(1);
Object obj = query.uniqueResult();
return obj;
}
});
}
/**
* 查询对象(防止依赖注入)
*
* @param hql
* 查找语句
* @param map
* 参数
* @return 对象
*/
public Object findObj(final String hql,
final Map<Serializable, Serializable> map) {
if (null == hql || "".equals(hql)) {
return null;
}
return this.getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
for (Serializable key : map.keySet()) {
query.setParameter((String) key, map.get(key));
}
query.setFirstResult(0);
query.setMaxResults(1);
Object obj = query.uniqueResult();
return obj;
}
});
}
/**
* 查询集合
*
* @param sql
* 查询语句
* @return 集合
*/
public List findListOfObj(final String hql) {
if (null == hql || "".equals(hql)) {
return null;
}
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
return query.list();
}
});
}
/**
* 主要用于防止sql依赖注入
*
* @param hql
* hql语句(例如" from UserInfo where id=:id and
* password=:password")query.setParameter("id",userForm.getId())
* @param map
* @return List集合
*/
public List findListOfObj(final String hql,
final Map<Serializable, Serializable> map) {
if (null == hql || "".equals(hql)) {
return null;
}
return this.getHibernateTemplate().executeFind(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
Query query = session.createQuery(hql);
for (Serializable key : map.keySet()) {
query.setParameter((String) key, map.get(key));
}
List list = query.list();
if (list.size() == 0) {
return null;
} else {
return list;
}
}
});
}
/**
* 获取记录的总条数
*
* @param sql
* 要保存的对象
* @return 返回个数
*/
public int findCountBySql( String hql) {
final String sql="select count(*) "+hql;
HibernateCallback cb = new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
return Integer.parseInt(session.createQuery(sql).list().get(0).toString());
} // end function
};// end callback
return (Integer) this.getHibernateTemplate().execute(cb);
// 总数
// int allCount = 0;
// hql = "select count(*) " + hql;
// Session session = getHibernateTemplate().getSessionFactory()
// .openSession();
// // 定义 Transaction 事务
// Transaction transaction = null;
// List list = null;
// try {
// // 获取 Transaction 事务对象
// transaction = session.beginTransaction();
// // 查询多个持久对象
// Query query = session.createQuery(hql);
// List cc = query.list();
// allCount = (Integer) cc.get(0);
// // 提交事务,完成数据库操作
// transaction.commit();
// } catch (Exception e) {
// e.printStackTrace();
// if (transaction != null) {
// // 当发生异常时回滚事务,取消数据库操作
// transaction.rollback();
// }
// } finally {
// // 销毁 session 对象,释放资源
// session.close();
// }
// return allCount;
/** -------------------111111111111------------------ */
// 通过 HibernateUtil 工具获取 Session 对象
// Session session = getHibernateTemplate().getSessionFactory()
// .openSession();
// // 定义 Transaction 事务
// Transaction transaction = null;
// List list = null;
// try {
// // 获取 Transaction 事务对象
// transaction = session.beginTransaction();
// // 查询多个持久�
没有合适的资源?快使用搜索试试~ 我知道了~
权限管理 struts2 hiberante spring
共350个文件
gif:109个
class:60个
java:50个
1星 需积分: 10 14 下载量 133 浏览量
2012-02-15
00:43:55
上传
评论
收藏 18.51MB RAR 举报
温馨提示
权限管理 struts2 hiberante3.5 spring3.0 annotation
资源推荐
资源详情
资源评论
收起资源包目录
权限管理 struts2 hiberante spring (350个子文件)
ScriptResource.axd 254KB
ScriptResource(1).axd 64KB
WebResource.axd 20KB
oscache.properties.bak 199B
UserManageAction.class 10KB
RoleManageAction.class 8KB
ActionManageAction.class 7KB
SpringHandler.class 7KB
MenuManageAction.class 7KB
ModuleManageAction.class 6KB
BaseAction.class 5KB
ServletUtils.class 5KB
Page.class 5KB
ManageFilter.class 4KB
UserInfo.class 4KB
BaseDAO.class 4KB
Menu.class 4KB
PageUtil.class 4KB
Role.class 4KB
UserManageService.class 4KB
BaseService.class 3KB
DateUtil.class 3KB
Action.class 3KB
Struts2Utils.class 3KB
ModuleManageService.class 3KB
MenuManageService.class 3KB
RoleManageService.class 3KB
QueryUtil.class 3KB
ActionManageService.class 3KB
PropertyFilter.class 3KB
Module.class 2KB
MD5.class 2KB
SpringHandler$2.class 2KB
TestSpring.class 2KB
SpringHandler$4.class 2KB
PropertyFilter$PropertyType.class 2KB
Condition.class 2KB
OSCacheManage.class 2KB
SpringHandler$6.class 2KB
SpringHandler$1.class 1KB
PropertyFilter$MatchType.class 1KB
SpringHandler$5.class 1KB
ServiceInterface.class 1KB
RoleCache.class 1KB
DAOInterface.class 1KB
DiscuzPasswordEncoder.class 1KB
SpringHandler$3.class 1KB
SpringHandler$7.class 1KB
SpringHandler$8.class 1KB
IHandler.class 1012B
Test.class 799B
IUserManageService.class 639B
IModuleManageService.class 613B
IMenuManageService.class 586B
IRoleManageService.class 586B
IActionManageService.class 511B
Test1.class 482B
UserInfoDAO.class 456B
ActionDAO.class 448B
ModuleDAO.class 448B
RoleDAO.class 440B
MenuDAO.class 440B
JdbcUsernamePasswordAuthHandlerImpl.class 362B
PasswordEncoder.class 185B
ui.datepicker.css 4KB
public.css 2KB
xtab.css 2KB
index.css 1KB
styles.css 1KB
validator.css 838B
dtree.css 795B
login.css 546B
Thumbs.db 71KB
Thumbs.db 13KB
Thumbs.db 11KB
Thumbs.db 8KB
Thumbs.db 8KB
Thumbs.db 6KB
Thumbs.db 5KB
后台系统.doc 72KB
bg_login_panel.gif 25KB
bg.gif 5KB
bg_banner_menu.gif 4KB
bg_schedule.gif 2KB
main_hr.gif 2KB
bt.gif 2KB
bg_users.gif 1KB
bg_users.gif 1KB
bg_table_item.gif 1KB
mail.gif 1KB
mail.gif 1KB
main_hl2.gif 1KB
minical_title.gif 1KB
bg_button_del.gif 1KB
bg_button_update.gif 1KB
bg_table_item2.gif 1KB
nav_help.gif 1KB
nav_help.gif 1KB
nav_search.gif 1KB
nav_print.gif 1KB
共 350 条
- 1
- 2
- 3
- 4
资源评论
- mtt_lau2012-10-17不实际的一个东西,对我没用处,大家下载看着点
GreatorMan
- 粉丝: 24
- 资源: 52
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功