心情手札——光头日记

来源:互联网 发布:天刀捏脸数据库 编辑:程序博客网 时间:2024/04/27 15:43
20121225日......
    今天早上起床上班、吃了两张大饼、跟两袋豆浆、看了火箭对公牛、快船队掘金的两场比赛!从9点办到两点钟!一大早基本没有做什么工作!但是、今天确实做了、跟以往不一样的事情跟工作。
    
    先从工作说起好吧!Excel的SSH(Struts2,Spring,Hibernate)批量新增。这个已经是老生常谈的问题了!
    想要提升新增的效率、第一点考虑的是访问数据库的频率问题!
    1、自动增长主见问题。
    首先是在Oracle建立sequence问题(因为我的数据库是Oracle)
    /**
     * 创建SEQ
     */
    create sequence SEQ_SSH_TEST      minvalue 1      maxvalue 999999999999999    start with 1      increment by 1      cache 20;  

    
    Oracle实现自增的触发器:
    create or replace trigger TRI_SSH_TEST        before insert on SSH_TEST            for each row      declare      begin        --ST_ID 为主键      select SEQ_SSH_TEST.Nextval into:new.ST_ID from dual;      end TRI_SSH_TEST  ;  
   
    下面是java的Dao:
      
 public void saveList(final List list)              throws HibernateException, SQLException {          this.getHibernateTemplate().execute(new HibernateCallback() {              public Object doInHibernate(Session session)                      throws HibernateException, SQLException {                  //如果你们有其它的session获取方式得用其它的                //如: this.getSessione();                Connection conn = session.connection();                  PreparedStatement ps = null;                  String sql = "INSERT INTO TB1(column,...) VALUES (?,...)";                  ps = conn.prepareStatement(sql);                  for (int i = 0; i < list.size(); i++) {                      ps.setString(1, "");                      //ps.set...                      ps.addBatch();                            // 每一万次执行并清除session,否则你懂的。                      if (i % 10000 == 0) {                          ps.executeBatch();                          session.flush();                          session.clear();                      }                  }                  ps.executeBatch();                  ps.close();                  session.flush();                  session.clear();              }          });      }



    还有一种就是调用存储过程、当然更好的就是多线程!如果你多线程了!
    我这里只是简单的应用!所以就不说那么多了!
    
    
    
    今天很值得一说的就是跟大海剃了一个光头!!!
    有图有真相啊亲!

    左1我~~~左二大海(我同事加同学)!




好基友一辈子!!!