⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sendunitpersistentbase.java

📁 OA典型例子
💻 JAVA
字号:

/*
 * sendUnitPersistentBase.java 
 * Generated using xgen and texen from beanpersistentbase.vm
 * Thu Jul 22 10:58:35 CST 2004
 */

package com.sure.oa.dict;

import java.sql.Connection;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.DatabaseMetaData;
import java.sql.BatchUpdateException;
import java.math.BigDecimal;
import com.sure.businessmodel.Page;
import java.io.*;
import java.util.*;
import com.sure.util.database.*;

/**
 * 将主送单位信息持久化到数据库
 * @author datonghuiren@sohu.com
 */
public abstract class sendUnitPersistentBase {

  /** class attributes */
  transient protected boolean recordExists = false;
  transient protected boolean handleConcurrency = false;
  transient protected boolean handleAutoIncrement = true;
  protected sendUnit bean;
  
  public sendUnitPersistentBase(sendUnit bean) { setBean(bean); }
  public sendUnitPersistentBase(sendUnit bean, boolean recordExists) { setBean(bean); setRecordExists(recordExists); }
  
  
  public sendUnit getBean() { return bean; }
  public void setBean(sendUnit bean) { this.bean = bean; }
  public boolean getRecordExists() { return recordExists; }
  public void setRecordExists(boolean recordExists) { this.recordExists = recordExists; }

  /** 
   * Load this object from a result set 
   * If null fields are present in the table, catch the NullPointerException
   */
  public static sendUnit load(ResultSet rs) throws SQLException {
    sendUnit theBean = new sendUnit ();
    try{ theBean.setPId ( rs.getInt("pId") ); } catch(NullPointerException e){}
    try{ theBean.setSendUnitName ( rs.getString("sendUnitName") ); } catch(NullPointerException e){}
    try{ theBean.setUnitId ( rs.getString("unitId") ); } catch(NullPointerException e){}
    return theBean;
  }

  /** 
   * Load a range of records from a connection, according to the where clause.
   * Returns a map of records accessible by a column value. (ie: foreign key)
   */
  public static Map loadByKey(Connection conn, String where, String colname) 
    throws SQLException{
  
    HashMap map = new HashMap();
    Statement s = conn.createStatement();
    String sql = "SELECT pId,sendUnitName,unitId FROM sendUnit " + where;
    ResultSet rs = s.executeQuery( sql );
    while(rs.next()){
      sendUnit theBean = new sendUnit ();
      int col = rs.findColumn(colname);
      String key = rs.getString(col);
      theBean = load(rs);
      map.put(key, theBean);
    }
    rs.close();
    s.close();
    return map;
  }

  /** 
   * Load a range of records from a connection, according to the where clause 
   */
  public static Vector load(Connection conn, String where) throws SQLException{
    Vector beans = new Vector();
    Statement s = conn.createStatement();
    String sql = "SELECT pId,sendUnitName,unitId FROM sendUnit " + where;
    ResultSet rs = s.executeQuery( sql );
    while(rs.next()){
      sendUnit theBean = new sendUnit ();
      theBean = load(rs);
      beans.addElement(theBean);
    }
    rs.close();
    s.close();
    return beans;
  }

  /**
   * Load a range of records using a scrollable resultset and absolute cursor
   */
  public static Vector load(Connection conn, String where,
      int startRow, int rowCount) throws SQLException {
    Vector beans = new Vector();

    String sql = "SELECT pId,sendUnitName,unitId FROM sendUnit ";
    if(where.length() > 0)
      sql = sql + where;
    Statement s = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                       ResultSet.CONCUR_READ_ONLY);
    s.setMaxRows(startRow + rowCount - 1);
    ResultSet rs = s.executeQuery( sql );
    rs.absolute(startRow);
    
    do {
      sendUnit theBean = new sendUnit ();
      theBean = load(rs);
      beans.addElement(theBean);
    } while(rs.next());
    rs.close();
    s.close();
    return beans;
  }

  /**
   * Load a Page of records using a scrollable resultset and absolute cursor
   */
  public static Page load(Connection conn, int startRow, int pageSize,
       String where) throws SQLException {
      
    int count = getCount(conn, where);
    if (count == 0) return new Page(pageSize);
    startRow = Page.getValidStart(startRow, count, pageSize);
    Vector beans = load(conn, where, startRow, pageSize);
    return new Page(beans, startRow, count, pageSize);
  }

  /** 
   * Persist the record. Performs a sql update or insert.
   * The primary key will be "set" upon insert.
   * If autocommit is on, turn it off to make a transactional
   * check of the tcn field.
   */
  public void persist(Connection conn) throws SQLException{
    if(recordExists){
      if(handleConcurrency){
        //regenerate source if you want the bean to handle concurrency
      }else{
        update(conn);
      }
    }else{
      if(handleAutoIncrement){
        setPrimaryKey(conn);
      }
      insert(conn);
    }
  }



  /** 
    * Set the primary key field using the MAX value of the column 
    * If the primary key is a string, check for existence and return
    * If the primary key is already set (in a new bean its 0) return
    */
    public void setPrimaryKey(Connection conn) throws SQLException{
            try{
      IDGeneratorManager idGeneratorManager = new IDGeneratorManager();
	  bean.setPId( idGeneratorManager.setNextValue("sendUnit"));
    }
    catch(SQLException se){
      se.printStackTrace();
    }
    }

  
  /** 
    * Insert a new record 
    */
  public void insert(Connection conn) throws SQLException {
    PreparedStatement pstmt = null;
    pstmt = conn.prepareStatement("INSERT INTO sendUnit ( pId,sendUnitName,unitId ) VALUES ( ?,?,? )");
    pstmt.setInt ( 1, bean.getPId().intValue() );
    pstmt.setString ( 2, bean.getSendUnitName() );
    pstmt.setString ( 3, bean.getUnitId() );
    pstmt.executeUpdate();
    pstmt.close();
    recordExists = true;
  }

  /** 
    * Update an existing record 
    * (including the primary key)
    */
  public void update(Connection conn) throws SQLException{
    PreparedStatement pstmt = null;
    pstmt = conn.prepareStatement("UPDATE sendUnit SET " +
             "pId = ?," +
             "sendUnitName = ?," +
             "unitId = ? " +	
             "WHERE pId = ?" );
    pstmt.setInt ( 1, bean.getPId ().intValue() );
    pstmt.setString ( 2, bean.getSendUnitName () );
    pstmt.setString ( 3, bean.getUnitId () );
    pstmt.setInt ( 4, bean.getPId ().intValue() );
    pstmt.executeUpdate();
    pstmt.close();
  }


  /** 
    * Delete an existing record 
    */
  public static void delete(Connection conn, String where) throws SQLException{
    Statement stmt = conn.createStatement();
    String sql = "DELETE FROM sendUnit " + where;
    stmt.execute(sql);
    stmt.close();
  }

  /** 
    * Delete an existing record using a prepared statement
    */
  public void delete(Connection conn) throws SQLException{
    PreparedStatement pstmt = null;
    pstmt = conn.prepareStatement("DELETE FROM sendUnit WHERE pId = ?");
    pstmt.setInt( 1, bean.getPId ().intValue() );
    pstmt.executeUpdate();
    pstmt.close();
  }
 
  /** 
    * get total count of a range of records from a connection, according to the where clause 
    */
  protected static int getCount(Connection conn, String where) throws SQLException{
    Statement s = conn.createStatement();
    
    String sql = "SELECT count(pId) FROM sendUnit ";
    if(where.length() > 0) {
      where = where.toLowerCase();
      if (where.indexOf("order") > 0) {
	where = where.substring(0,where.lastIndexOf("order"));
      }
      sql = sql + where;
    }	

    ResultSet rs = s.executeQuery( sql );
    
    int count = 0;
    if( rs.next()){
      count = rs.getInt(1);
    }
    rs.close();
    s.close();
    return count;
  }
 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -