hibernateDaoSupport中的一些公用常用方法

/**
   * 删除记录
   * @param entity BO的对象
   * <pre>
   * this.getHibernateTemplate().delete(entity);
   * 按照规范,调用ECLRecordDelete记录删除的BO信息;
   * </pre>
   */
  public void delete(Object entity){
   this.getHibernateTemplate().delete(entity);
  }
  
  
  
  /**
   * 通过id获得记录
   * @param Class entityClass,对象类型
   * @param Serializable id,BO的id值
   * <pre>
   * return hibernateTemplate.get(entityClass,id);
   * </pre>
   */
  public Object findById(Class entityClass, Serializable id) {
   return this.getHibernateTemplate().get(entityClass,id);
  }
  
  /**
   * 获得延迟加载数据
   * @param Object object,需要加载的对象
   * <pre>
   * Hibernate.initialize(object);
   * </pre>
   */
  public void getLazyData(Object object) {
   this.getHibernateTemplate().initialize(object);
  }
  
  /**
   * 增加记录
   * @param Object entity,需要保存的BO
   * <pre>
   * hibernateTemplate.save(entity);
   * return entity;
   * </pre>
   */
  public Object save(Object entity) {
   Object id = (Object)this.getHibernateTemplate().save(entity);
   return id;
  }
  
  /**
   * 修改记录
   * @param Object,要修改的BO
   * <pre>
   * hibernateTemplate.update(entity);
   * </pre>
   */
  public void update(Object entity) {
   this.getHibernateTemplate().update(entity);
  }

//通过传递多个条件查询表记录

public List findByHQLCondition(Class entityClass,List propertyNameList,List propertyValueList){
   StringBuffer sqlStr = new StringBuffer();
   sqlStr.append("from ").append(entityClass.getName()).append(" as bo");
   sqlStr.append(" where 1=1 ");
   if(propertyNameList
!=null && propertyValueList!=null &&
propertyNameList.size() == propertyValueList.size()){
    for(int i=0;i<propertyNameList.size();i++){
     sqlStr.append(" and bo.").append(propertyNameList.get(i)).append(" = :").append(propertyNameList.get(i));
    }
   }else{
    return null;
   }
   final String sql = sqlStr.toString();
   final List propertyNList = propertyNameList;
   final List propertyVList = propertyValueList;
   return(List) getHibernateTemplate().execute(new HibernateCallback() {
   public Object doInHibernate(Session session)
          throws HibernateException, SQLException {
     List li = new ArrayList();
     Query query = session.createQuery(sql);
     for(int i=0;i<propertyNList.size();i++){
      query.setParameter(propertyNList.get(i).toString(),propertyVList.get(i));
     }
     
     Iterator it = query.iterate();
     while(it.hasNext()){
      li.add(it.next());
     }
     return li;
    }
   });
  }

//根据传递的HQL语句,来查询数据库

public List findByHQL(String hql){
   return this.getHibernateTemplate().find(hql);
  }

//只根据一个条件来查询数据库字段

public List findByOneHQLCondition(Class entityClass,String propertyName,String propertyValue) {
   StringBuffer sqlStr = new StringBuffer();
   sqlStr.append("from ").append(entityClass.getName()).append(" as bo where bo.");
   sqlStr.append(propertyName);
   sqlStr.append(" = :");
   sqlStr.append(propertyName);

final String sql = sqlStr.toString();

return getHibernateTemplate().findByNamedParam(sql, propertyName,propertyValue);

时间: 2024-10-19 02:02:07

hibernateDaoSupport中的一些公用常用方法的相关文章

Javascript中String对象的常用方法

charAt(): 返回在指定位置的字符. charCodeAt(): 返回在指定的位置的字符的 Unicode 编码. var s = "Smile forever!"; s.charAt(2); //i s.charCodeAt(2); //105 concat(): 连接字符串,参数可以是多个字符串. var s1 = "Smile forever!"; var s2 = "extend"; s1.concat(s2); //Smile f

前端开发:Javascript中的数组,常用方法解析

前端开发:Javascript中的数组,常用方法解析 前言 Array是Javascript构成的一个重要的部分,它可以用来存储字符串.对象.函数.Number,它是非常强大的.因此深入了解Array是前端必修的功课.周五啦,博主的心又开始澎湃了,明儿个周末有木有,又可以愉快的玩耍了. 创建数组 创建数组的基本方式有两种,一种字面量,另一种使用构造函数创建: var arr = [1,2,3]; //字面量的形式创建数组 值与值之间用英文逗号隔开 var arr1 = new Array(1,2

python初学day1--(python中基本数据类型和常用方法)

python中基本数据类型和常用方法 在python中常见的数据类型有:字符串(str),列表(list),元组(tuple),字典(ditc),集合(set) (一)字符串 字符串常用的方法: 1,索引(index),通过下标输出对应位置的字符. eg:  i = 'hello world' print(i[3])   结果:'l' 2,长度(len),获取一个字符串的长度. eg:  i = 'hello' print(len(i))   结果:5 3,移除空白(strip),移除字符串两边

js中关于array的常用方法

最近总结了一些关于array中的常用方法, 其中大部分的方法来自于<JavaScript框架设计>这本书, 如果有更好的方法,或者有关于string的别的常用的方法,希望大家不吝赐教. 直接上代码: 1 /** 2 * 判定数组是否包含指定目标 3 * @param target 4 * @param item 5 * @returns {boolean} 6 */ 7 function contains(target,item) { 8 return target.indexOf(item)

Javascript中String、Array常用方法介绍

string和array作为javascript内置对象,其中许多方法无论是在开发过程中,还是在面试的时候都有机会被面试官问到,这里对经常用到的方法做一个介绍,这些方法都有过很多的实际应用场景,所以对它们的掌握还是非常有必要的. 1.Array数组常用方法? 先创建一个数组var abc = [1,2,3,4,5,6,7,8,9]; (1)pop(); 这个方法会删除数组的最后一项并返回删除掉的值. 比如:console.log(abc.pop());//9;    console.log(ab

Java 中 String 类的常用方法

String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等,下面我们就来领略它的强大之处吧. String 类的常用方法: 结合代码来熟悉一下方法的使用: 运行结果: 我们继续来看 String 类常用的方法,如下代码所示: 运行结果: 那么,“==” 和 equals() 有什么区别呢? ==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象 equals(): 比较存储在两个字符串对象中的内容是否一致 P

关于SQL中CTE(公用表表达式)(Common Table Expression)的总结

WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到 一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些, 也有可能是在UNION ALL的不同部分,作为提供数据的部分. 特别对于UNION ALL比较有用.因为UNION

Java 中的 String 类常用方法

字符串广泛应用在Java编程中,在Java中字符串属于对象,String 类提供了许多用来处理字符串的方法,例如,获取字符串长度.对字符串进行截取.将字符串转换为大写或小写.字符串分割等. String 类的常用方法: 注意事项: 1. 字符串 str 中字符的索引从0开始,范围为 0 到 str.length()-1 2. 使用 indexOf 进行字符或字符串查找时,如果匹配返回位置索引:如果没有匹配结果,返回 -1 3. 使用 substring(beginIndex , endIndex

C++ stack,queue,vector 中 易混淆的常用方法 浅析

C++ 中stack,queue,vector是常见的数据结构,它们分别封装在<stack>,<queue>,<vector>头文件中. stack,queue,vector的定义如下: stack<class T> s; queue<class T> q; vector<class T> v; stack常用方法: push()的向容器顶部里插入元素: pop()是删除容器顶部的元素: top()返回容器顶部的元素: size()返