现在的位置: 首页 > 综合 > 正文

spring 回调jdbc 进行大批量数据 查询,修改,添加

2013年08月28日 ⁄ 综合 ⁄ 共 4097字 ⁄ 字号 评论关闭

/**
  * @author lxh
  *2011-5-27
  *  大数据查询
  */
 public List findAllbyOrgUserbean() {
  log.debug("finding all OrgUser instances");
  try {
   final String queryString = "select USERID,USERNAME,DISPLAYNAME," +
   "  BUSINESSTELEPHONE, BUSINESSTELEPHONE0, BUSINESSTELEPHONE1," +
   " DESCRIPTION, STATE, SEQ, ORGID  from  tbl_org_user";
   return this.getHibernateTemplate().executeFind(new HibernateCallback(){
    public Object doInHibernate(Session session) throws HibernateException, SQLException {
     List<OrgUserbean> result = new ArrayList();  
     Connection conn=session.connection();  
     PreparedStatement ps=null;  
     ps=conn.prepareStatement(queryString);
     ResultSet   rs   =   ps.executeQuery();
     while(rs.next()){
      OrgUserbean ub =new OrgUserbean();
      ub.setUserid(rs.getString(1));
      ub.setUsername(rs.getString(2));
      ub.setDisplayname(rs.getString(3));
      ub.setBusinesstelephone(rs.getString(4));
      ub.setBusinesstelephone0(rs.getString(5));
      ub.setBusinesstelephone1(rs.getString(6));
      ub.setDescription(rs.getString(7));
      ub.setState(rs.getInt(8));
      ub.setSeq(rs.getInt(9));
      ub.setOrgCode(rs.getString(10));
      result.add(ub);
     }
     rs.close();
     ps.close();
     conn.close();
     return result;
    }
   });

  } catch (RuntimeException re) {
   log.error("find all failed", re);
   throw re;
  }
 }

 

 

/**
  * @author lxh
  *2011-5-27
  *  大数据批量插入
  */
 public void insertOrgUserbySQL(final List<OrgUserbean> orgUserList){
  log.debug("finding all OrgUser instances");
  try {
   getHibernateTemplate().execute(new HibernateCallback<Object>(){
    public Object doInHibernate(Session session) throws HibernateException, SQLException {
     List result = new ArrayList();
     String sql = "insert into sdfdb.tbl_org_user (USERID,USERNAME,DISPLAYNAME," +
     "  BUSINESSTELEPHONE, BUSINESSTELEPHONE0, BUSINESSTELEPHONE1," +
     " DESCRIPTION, STATE, SEQ, ORGID)" +
     " values (?,?,?,?,?,?,?,?,?,?)";
     Connection conn=session.connection();  
     PreparedStatement ps=null;
     ps=conn.prepareStatement(sql);
     for(OrgUserbean orgUser:orgUserList){   
      ps.setString(1, orgUser.getUserid());
      ps.setString(2, orgUser.getUsername());
      ps.setString(3, orgUser.getDisplayname());
      ps.setString(4, orgUser.getBusinesstelephone());
      ps.setString(5, orgUser.getBusinesstelephone0());
      ps.setString(6, orgUser.getBusinesstelephone1());
      ps.setString(7, orgUser.getDescription());
      ps.setInt(8, orgUser.getState());
      ps.setInt(9, orgUser.getSeq());
      ps.setString(10, orgUser.getOrgCode());
      ps.addBatch();
     }
     int[] counts=ps.executeBatch();
     session.flush();
     ps.clearBatch();
     ps.close();
     session.close();
     conn.close();
     return result;
    }
   });

  } catch (RuntimeException re) {
   log.error("find all failed", re);
   throw re;
  }

 }
/**
  * @author lxh
  *2011-5-27
  *  大数据批量修改
  */
 public void updateOrgUserbySQL(final List<OrgUserbean> orgUserList){
  log.debug("finding all OrgUser instances");
  try {
   getHibernateTemplate().execute(new HibernateCallback<Object>(){
    /* (non-Javadoc)
     * @see org.springframework.orm.hibernate3.HibernateCallback#doInHibernate(org.hibernate.Session)
     */
    public Object doInHibernate(Session session) throws HibernateException, SQLException {
     List result = new ArrayList();
     String sql = "update  sdfdb.tbl_org_user set DISPLAYNAME =?," +
     "  BUSINESSTELEPHONE=?, BUSINESSTELEPHONE0=?, BUSINESSTELEPHONE1=?," +
     " DESCRIPTION=?, STATE=? where userid=?";
     Connection conn=session.connection();  
     PreparedStatement ps=null;
     ps=conn.prepareStatement(sql);
     for(OrgUserbean orgUser:orgUserList){   
      ps.setString(1, orgUser.getDisplayname());
      ps.setString(2, orgUser.getBusinesstelephone());
      ps.setString(3, orgUser.getBusinesstelephone0());
      ps.setString(4, orgUser.getBusinesstelephone1());
      ps.setString(5, orgUser.getDescription());
      ps.setInt(6, orgUser.getState());
      ps.setString(7, orgUser.getUserid());
      ps.addBatch();
     }
     int[] counts=ps.executeBatch();
     session.flush();
     ps.clearBatch();
     ps.close();
     session.close();
     conn.close();
     return result;
    }
   });

  } catch (RuntimeException re) {
   log.error("find all failed", re);
   throw re;
  }
 }

抱歉!评论已关闭.