• 海森堡吃炸鸡
    了解作者
  • Java
    开发工具
  • 2.1MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 0
    下载次数
  • 2019-11-07 16:25
    上传日期
中国联通SGIP协议api(java版)发送短信,java样例
llhy_sendMsg.rar
内容介绍
/* * 创建日期 2004-11-18 * * 创建人 Treey * */ package com.hwls.DBPool; /** * @author Treey * 数据管理器 */ import java.sql.BatchUpdateException; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.StringTokenizer; import oracle.jdbc.OracleTypes; import oracle.jdbc.driver.OracleCallableStatement; public class DBManager { private Connection conn; private Statement stmt; private PreparedStatement pstmt; private ResultSet rs; private String strSql; private int recordcount; DBConnPoolManager connmgr=null; private OracleCallableStatement cstmt;//存储过程 private boolean open; private void setOpen(boolean open) { this.open = open; } public DBManager(){ conn = null; stmt = null; rs = null; strSql = null; recordcount = 0; } /** * 使用前先打开数据管理器 * */ private boolean Open(){ if(!isOpen()){ try{ connmgr = DBConnPoolManager.getInstance(); //获得数据库连接管理器的引用 conn = connmgr.getConnection(); //取得空闲连接 open = true; }catch (Exception e){ open = false; e.printStackTrace(); } } return open; } /** * 通过传入查询语句获得记录集 * @param strSql 传入的sql查询语句 * @return ResultSet 记录集 */ public ResultSet executeQuery(String select_string){ if(!Open()){ return null; } this.rs = null; this.strSql = select_string; try { this.stmt = conn.createStatement(); //this.stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY); strSql = strSql.replaceAll("'null'","''"); //System.out.println("inSQL:" + strSql); this.rs = stmt.executeQuery(strSql); } catch (SQLException e) { System.out.println("DBManager executeQuery failure\n"+strSql); Close(); e.printStackTrace(); } return rs; } public ResultSet executeQueryByPage(String select_string, int page_size, int page_num){ if(!Open()){ return null; } this.rs = null; this.strSql = select_string; try { this.stmt = conn.createStatement(); strSql = strSql.replaceAll("'null'","''"); strSql = "select * from ( " + "select my_table.*, rownum as my_rownum from ("+strSql+") my_table" + " where rownum <="+page_size*page_num+") where my_rownum>="+(page_size*(page_num-1)+1); this.rs = stmt.executeQuery(strSql); } catch (SQLException e) { System.out.println("DBManager executeQuery failure\n"+strSql); Close(); e.printStackTrace(); } return rs; } public ResultSet executeQuery(String select_string, String[] param){ if(!Open()){ return null; } this.rs = null; try { this.pstmt = this.conn.prepareStatement(select_string); for(int i=0;i<param.length;i++){ this.pstmt.setString(i+1,param[i]); } this.rs = pstmt.executeQuery(); } catch (SQLException e) { Close(); e.printStackTrace(); } return rs; } public ResultSet executeQueryByPage(String select_string, String[] param, int page_size, int page_num){ if(!Open()){ return null; } this.rs = null; this.strSql = select_string; strSql = strSql.replaceAll("'null'","''"); strSql = "select * from ( " + "select my_table.*, rownum as my_rownum from ("+strSql+") my_table" + " where rownum <="+page_size*page_num+") where my_rownum>="+(page_size*(page_num-1)+1); try { this.pstmt = this.conn.prepareStatement( strSql ); for(int i=0;i<param.length;i++){ this.pstmt.setString(i+1,param[i]); } // this.pstmt.close(); this.rs = pstmt.executeQuery(); } catch (SQLException e) { Close(); e.printStackTrace(); } return rs; } /** * 通过传入的查询语句执行数据库更新 * 可直接使用,不需要执行打开及关闭数据管理器的操作 * @param update_string 数据库更新的sql语句 * @return int 更新操作影响的记录数 * @throws SQLException */ public int executeUpdate(String update_string){ if(!Open()){return 0;} strSql = update_string; try { this.stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); return stmt.executeUpdate(update_string); } catch (SQLException e) { System.out.println("DBManager executeUpdate failure\n"+strSql); e.printStackTrace(); return 0; } finally{ Close(); } } /** * 执行带IN参数的更新查询 * @param update_string * @param param * @return */ public int executeUpdate(String update_string,String[] param){ if(!Open()){ return 0; } try { System.out.println("执行带IN参数的更新查询--"+update_string); this.pstmt = this.conn.prepareStatement(update_string); for(int i=0;i<param.length;i++){ this.pstmt.setString(i+1,param[i]); } return this.pstmt.executeUpdate(); } catch (SQLException e) { // System.out.println(update_string); e.printStackTrace(); return 0; } finally{ Close(); } } /** * 执行多行带IN参数的列新查询 */ public int executeUpdate(String update_string,String[][] param){ if(!Open()){ return 0; } int intReturn = 0; try { boolean bolReturn = false; this.conn.setAutoCommit(false); this.pstmt = this.conn.prepareStatement(update_string); for(int i=0;i<param.length;i++){ bolReturn = false; for(int j=0;j<param[i].length;j++){ this.pstmt.setObject(j+1,param[i][j]); } if(this.pstmt.executeUpdate() != 0){ intReturn ++ ; bolReturn = true; }else{ break; } } if(bolReturn){ this.conn.commit(); }else{ this.conn.rollback(); } this.conn.setAutoCommit(true); } catch (SQLException e) { e.printStackTrace(); } finally{ Close(); } return intReturn; } /** * 多条SQL语句事务提交 * @param sql 以";"分隔的SQL语句 * @return 成功或失败 * @throws SQLException */ public boolean doBatch(String sql){ if(!Open()){ return false; } try { this.conn.setAutoCommit(false); this.stmt=this.conn.createStatement(); StringTokenizer st = new StringTokenizer(sql,";"); while (st.hasMoreTokens()) { strSql=st.nextToken(); if(strSql != null && strSql.trim().length() > 0) this.stmt.addBatch(strSql); } this.stmt.executeBatch();
评论
    相关推荐
    • ZxingDemo.rar
      android上使用ZXing识别条形码和二维码,代码简单易懂,相信能帮助读者迅速掌握相关的开发
    • android-order-system.rar
      基于Java的android点餐系统--android手机点餐系统,实现基本点菜功能,供大家参考学习
    • MTK-MT6235-USB-driver-2009082823351054.rar
      MTK 6235 USB driver for Nokia N97
    • Mine.zip
      Android 扫雷游戏源代码,代码中附加了详细的注释,另附加Ophone游戏开发文档,有详细搭建开发环境过程,与开发Android类似
    • J2ME_(chinese)api.rar
      J2ME 中文api以及应用 J2ME 中文api以及应用
    • Gallery3D.rar
      安卓系统原生的3D图片浏览器源代码,有兴趣的可以研究一下
    • wpctsc.rar
      wpctsc.exe for windows mobile 可以使WM手机远程登入PC
    • Animation-J2ME.rar
      手机游戏中的动画和CG是怎么做的呢,这个源代码中给了清晰的讲解,此代码是手机游戏巨头智乐(gameloft)公司所使用的引擎,很值得学习
    • androidexample.rar
      androidexample有130多个实例,是现在国内最全的ANDROID实例代码库,希望对大家有用
    • ColorLinez.rar
      用J2ME写的一种五子连线的手机游戏。ColorLinez是一款由玩家通过功能键移动各色小球,把五个及五个以上相同颜色小球移成一横排、一竖列,小球从而消失的游戏,玩家每移动一个小球,就会随机新出现三个随机颜色的小球,小球消失的数量作为玩家得到的分数!