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

📄 grouppersistentbase.java

📁 OA典型例子
💻 JAVA
字号:

/*
 * GroupPersistentBase.java
 * Generated using xgen and texen from beanpersistentbase.vm
 * Sat Feb 28 13:52:59 CST 2004
 */

package com.sure.oa.addresslist;

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 com.sure.util.database.*;
import java.io.*;
import java.util.*;

/**
 * 存放单位群组信息
 * @author mailto:datonghuiren@sohu.com
 */
public abstract class GroupPersistentBase {

  /** class attributes */
  transient protected boolean recordExists = false;
  transient protected boolean handleConcurrency = false;
  transient protected boolean handleAutoIncrement = true;
  protected Group bean;

  public GroupPersistentBase(Group bean) { setBean(bean); }
  public GroupPersistentBase(Group bean, boolean recordExists) { setBean(bean); setRecordExists(recordExists); }


  public Group getBean() { return bean; }
  public void setBean(Group 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 Group load(ResultSet rs) throws SQLException {
    Group theBean = new Group ();
    try{ theBean.setGroupId ( rs.getInt("groupId") ); } catch(NullPointerException e){}
    try{ theBean.setGroupName ( rs.getString("groupName") ); } catch(NullPointerException e){}
    try{ theBean.setContent ( rs.getString("content") ); } catch(NullPointerException e){}
    try{ theBean.setUnitId ( rs.getString("unitId") ); } catch(NullPointerException e){}
    try{ theBean.setMemo ( rs.getString("memo") ); } catch(NullPointerException e){}
    try{ theBean.setPrintNum ( rs.getString("printNum") ); } 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 groupId,groupName,content,unitId,memo,printNum FROM AddressGroup " + where;
    ResultSet rs = s.executeQuery( sql );
    while(rs.next()){
      Group theBean = new Group ();
      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 groupId,groupName,content,unitId,memo,printNum FROM AddressGroup " + where;
    ResultSet rs = s.executeQuery( sql );
    while(rs.next()){
      Group theBean = new Group ();
      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 groupId,groupName,content,unitId,memo,printNum FROM AddressGroup ";
    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 {
      Group theBean = new Group ();
      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.setGroupId( idGeneratorManager.setNextValue("AddressGroup"));
      }
      catch(SQLException se){
         se.printStackTrace();
      }
  }

  /**
    * Insert a new record
    */
  public void insert(Connection conn) throws SQLException {
    PreparedStatement pstmt = null;
    pstmt = conn.prepareStatement("INSERT INTO AddressGroup ( groupId,groupName,content,unitId,memo,printNum ) VALUES ( ?,?,?,?,?,? )");
    pstmt.setInt ( 1, bean.getGroupId().intValue() );
    pstmt.setString ( 2, bean.getGroupName() );
    pstmt.setString ( 3, bean.getContent() );
    pstmt.setString ( 4, bean.getUnitId() );
    pstmt.setString ( 5, bean.getMemo() );
    pstmt.setString ( 6, bean.getPrintNum() );
    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 AddressGroup SET " +
             "groupId = ?," +
             "groupName = ?," +
             "content = ?," +
             "unitId = ?," +
             "memo = ?, " +
             "printNum = ? " +
             "WHERE groupId = ?" );
    pstmt.setInt ( 1, bean.getGroupId ().intValue() );
    pstmt.setString ( 2, bean.getGroupName () );
    pstmt.setString ( 3, bean.getContent () );
    pstmt.setString ( 4, bean.getUnitId () );
    pstmt.setString ( 5, bean.getMemo () );
    pstmt.setString ( 6, bean.getPrintNum () );
    pstmt.setInt ( 7, bean.getGroupId ().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 AddressGroup " + 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 AddressGroup WHERE groupId = ?");
    pstmt.setInt( 1, bean.getGroupId ().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(groupId) FROM AddressGroup ";
    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 + -