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

📄 promotiondao.java

📁 本例采用sql server数据库。基于JBuilder的tomcat上运行。访问数据库基于struts的datasources.里面有详细的操作和设置说明。
💻 JAVA
字号:
//---------------------------------------------------------
// Application: Gsm of Application
// Author     : esingle
// File       : PromotionDAO.java
//
// Copyright 2004 landsoft corp
// Generated at Wed Mar 10 15:35:57 CST 2004
// created by 曹广鑫
// mailto:gxcao@mail.tsinghua.edu.cn
//---------------------------------------------------------

package com.landsoft.gsm.dao;

import java.io.*;
import java.sql.*;
import java.util.*;
import javax.sql.*;

import com.landsoft.gsm.model.*;
import com.landsoft.gsm.util.CacheManager;

public class PromotionDAO extends DAO {

  public PromotionDAO(DataSource ds) {
    super(ds);
  }

  public void insert(Promotion promotion) throws SQLException {
    String sql;
    sql = "INSERT INTO promotion (senddate, mobile, message) VALUES (?, ?, ?)";
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = ds.getConnection();
      pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, promotion.getSenddate());
      pstmt.setString(2, promotion.getMobile());
      pstmt.setString(3, promotion.getMessage());
      pstmt.executeUpdate();
      pstmt.close();
      sql = "SELECT MAX(promotionid) FROM promotion";
      pstmt = conn.prepareStatement(sql);
      rs = pstmt.executeQuery();
      if (rs.next()) {
        promotion.setPromotionid(rs.getInt(1));
      }
      close(rs);
      close(pstmt);
      conn.commit();
    } catch (SQLException sqle) {
      close(rs);
      close(pstmt);
      rollback(conn);
      sqle.printStackTrace();
      throw sqle;
    } finally {
    	close(conn);
    }
  }

  public void update(Promotion promotion) throws SQLException {
  	Connection conn = null;
  	PreparedStatement pstmt = null;
    try {
      conn = ds.getConnection();
      String sql = "UPDATE promotion SET senddate=?, mobile=?, message=? WHERE promotionid=?";
      pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, promotion.getSenddate());
      pstmt.setString(2, promotion.getMobile());
      pstmt.setString(3, promotion.getMessage());
      pstmt.setLong(4, promotion.getPromotionid());
      pstmt.executeUpdate();
      close(pstmt);
      conn.commit();
    } catch (SQLException e) {
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
  }

  public void delete(long promotionid) throws SQLException {
  	Connection conn = null;
  	PreparedStatement pstmt = null;
    try {
      conn = ds.getConnection();
      String sql = "DELETE FROM promotion WHERE promotionid=?";
      pstmt = conn.prepareStatement(sql);
      pstmt.setLong(1, promotionid);
      pstmt.executeUpdate();
      close(pstmt);
      conn.commit();
    } catch (SQLException e) {
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
    String[] objKeys = {"Promotion", String.valueOf(promotionid)};
    String objKey = CacheManager.createKey(objKeys);
    DAOCacheManager.invalidate(objKey);
  }

  public Promotion retrieve(long promotionid) throws SQLException {
    String[] objKeys = {"Promotion", String.valueOf(promotionid)};
    String objKey = CacheManager.createKey(objKeys);
    Promotion promotion = (Promotion) DAOCacheManager.getCache(objKey);
    if (promotion != null)
      return promotion;
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = ds.getConnection();
      String sql = "SELECT * FROM promotion WHERE promotionid=?";
      pstmt = conn.prepareStatement(sql);
      pstmt.setLong(1, promotionid);
      rs = pstmt.executeQuery();
      if (rs.next()) {
        promotion = new Promotion();
        populate(promotion, rs);
      }
      close(rs);
      close(pstmt);
    } catch (SQLException e) {
      close(rs);
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
    DAOCacheManager.putCache(promotion, objKey, 1);
    return promotion;
  }

  public List list() throws SQLException {
    String[] objKeys = {"Promotion", "list"};
    String objKey = CacheManager.createKey(objKeys);
    ArrayList list = (ArrayList) DAOCacheManager.getCache(objKey);
    if (list != null)
      return list;
    list = new ArrayList();
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = ds.getConnection();
      String sql = "SELECT senddate, mobile, message, promotionid FROM promotion";
      pstmt = conn.prepareStatement(sql);
      rs = pstmt.executeQuery();
      while(rs.next()) {
        Promotion promotion = new Promotion();
        populate(promotion, rs);
        list.add(promotion);
      }
      close(rs);
      close(pstmt);
    } catch (SQLException e) {
      close(rs);
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
    DAOCacheManager.putCache(list, objKey, 1);
    return list;
  }

  public List list(int offset, int limit) throws SQLException {
    String[] objKeys = {"Promotion", "list", String.valueOf(offset), String.valueOf(limit)};
    String objKey = CacheManager.createKey(objKeys);
    ArrayList list = (ArrayList) DAOCacheManager.getCache(objKey);
    if (list != null)
      return list;
    list = new ArrayList();
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = ds.getConnection();
      String sql = "SELECT senddate, mobile, message, promotionid FROM promotion";
      pstmt = conn.prepareStatement(sql);
      rs = pstmt.executeQuery();
      if(offset > 0) rs.absolute(offset);
      int recCount = 0;
      while((recCount++ < limit) && rs.next()) {
        Promotion promotion = new Promotion();
        populate(promotion, rs);
        list.add(promotion);
      }
      close(rs);
      close(pstmt);
    } catch (SQLException e) {
      close(rs);
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
    DAOCacheManager.putCache(list, objKey, 1);
    return list;
  }

  public List newQuery(int offset, int limit, String mobile) throws SQLException {
    String[] objKeys = {"Promotion", "newQuery", String.valueOf(offset), String.valueOf(limit), String.valueOf(mobile)};
    String objKey = CacheManager.createKey(objKeys);
    ArrayList list = (ArrayList) DAOCacheManager.getCache(objKey);
    if (list != null)
      return list;
    list = new ArrayList();
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try {
      conn = ds.getConnection();
      String sql = "SELECT senddate, mobile, message, promotionid promotion";
      sql += " WHERE mobile =?";
      pstmt = conn.prepareStatement(sql);
      pstmt.setString(1, mobile);
      rs = pstmt.executeQuery();
      if(offset > 0) rs.absolute(offset);
      int recCount = 0;
      while((recCount++ < limit) && rs.next()) {
        Promotion promotion = new Promotion();
        populate(promotion, rs);
        list.add(promotion);
      }
      close(rs);
      close(pstmt);
    } catch (SQLException e) {
      close(rs);
      close(pstmt);
      rollback(conn);
      e.printStackTrace();
    } finally {
    	close(conn);
    }
    DAOCacheManager.putCache(list, objKey, 1);
    return list;
  }

}

⌨️ 快捷键说明

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