zoukankan      html  css  js  c++  java
  • Util(ORACLE)类

    Constant.java

    package com.bms.common.util;

    public abstract class Constant {

     final static String DRIVER_CLASS="oracle.jdbc.driver.OracleDriver";
     final static String URL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
     final static String USERNAME="scott";
     final static String PASSWORD="tiger";
     
    }

    ArrayUtil.java

    package com.bms.common.util;

    public class ArrayUtil {

     public static boolean isBlank(Object...objects){
      return objects!=null && objects.length>0;
     }
    }

    SQLUtil.java

    package com.bms.common.util;

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    public class SQLUtil extends Constant{

     private static  Connection getConnection(){
      Connection conn=null;
      
       try {
        Class.forName(DRIVER_CLASS);
        conn=DriverManager.getConnection(URL,USERNAME,PASSWORD);
       } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
       }
       
      return conn;
     }
     
     public static Integer executeUpdate(String sql,Object...parameters){
      Integer row=0;
      Connection conn=getConnection();
      PreparedStatement pst=null;
      
      try {
       pst=conn.prepareStatement(sql);
       if(ArrayUtil.isBlank(parameters)){
        for (int i = 0; i < parameters.length; i++) {
         pst.setObject(i+1, parameters[i]);
        }
        
       }
       
       row=pst.executeUpdate();
      } catch (SQLException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }finally{
       closeObject(pst,conn);
      }
      
      
      
      return row;
      
     }
     
     private static void closeObject(Object...parameters){
      
      try {
       if(ArrayUtil.isBlank(parameters)){
        for (Object obj : parameters) {
         if(obj instanceof ResultSet){
          ((ResultSet) obj).close();
         }
         if(obj instanceof PreparedStatement){
          ((PreparedStatement) obj).close();
         }
         if(obj instanceof Connection){
          Connection conn=(Connection) obj;
          if(!conn.isClosed()){
           conn.close();
           conn=null;
          }
         }
        }
       }
       
      } catch (Exception e) {
       // TODO: handle exception
      }
      
      
      
     }
     
     
     
     
     
     
     
     
     public static List<Map<String,Object>> executeQuery(String sql,Object...parameters){
      
      Connection conn=getConnection();
      PreparedStatement pst=null;
      ResultSet rs=null;
      
      List<Map<String,Object>> table=new ArrayList<Map<String,Object>>();
      
      try {
       pst=conn.prepareStatement(sql);
       if(ArrayUtil.isBlank(parameters)){
        for (int i = 0; i < parameters.length; i++) {
         pst.setObject(i+1, parameters[i]);
        }
       }
       rs=pst.executeQuery();
       if(rs!=null){
        ResultSetMetaData rsd=rs.getMetaData();
        int columnCount = rsd.getColumnCount();
        while(rs.next()){
         Map<String,Object> row=new HashMap<String, Object>();
         for (int i = 0; i < columnCount; i++) {
          String columnName=rsd.getColumnName(i+1);
          row.put(columnName, rs.getObject(columnName));
         }
         table.add(row);
        }
       }
       
       
      } catch (Exception e) {
       // TODO: handle exception
      }finally{
       closeObject(rs,pst,conn);
       
      }
      return table;
      
     }
     
      
     
    }

  • 相关阅读:
    Java并发之ThreadPoolExecutor
    Java并发之同步工具类
    em和i , b和Strong 的区别
    OS应用架构谈(二):View层的组织和调用方案(中)
    iOS应用架构谈(二):View层的组织和调用方案(上)
    java(List或Array数组)求交集、并集、差集, 泛型工具类
    AES/DES 可逆性加密算法 -- java工具类
    用xtrabackup实现mysql的主从复制 阿里云rds到自己创建mysql
    java 生成二维码工具
    XDU 1022 (数论筛法+前缀和)
  • 原文地址:https://www.cnblogs.com/yang-32/p/5703576.html
Copyright © 2011-2022 走看看