java数据库连接工具类

 package com.cnse.utils.dbutils; import java.lang.reflect.Field; 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.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; public class DbUtils {  /**   * single Model    */   //私有的静态实例   private static DbUtils instance = null;   //私有的构造器   private DbUtils() {   }   //公共的静态方法   public static DbUtils getInstance() {    if(instance==null){     instance=new DbUtils();    }    return instance;   } /**  * jdbc obj interface   */  private static Connection conn=null;  private static PreparedStatement pstmt=null;  private static ResultSet rs=null; /**  *  jdbc pro  */  private static String JDBC_DRIVER="oracle.jdbc.driver.OracleDriver";  private static String JDBC_URL="jdbc:oracle:thin:@localhost:1521:orcl";  private static String JDBC_NAME="aaa";  private static String JDBC_PWD="123";    /**  private static String JDBC_DRIVER="com.mysql.jdbc.Driver";  private static String JDBC_URL="jdbc:mysql://localhost:3306/zy";  private static String JDBC_NAME="aaa";  private static String JDBC_PWD="123";  **/ /**  * get dbconn   * @return  */  public static Connection getConn(){   try {    Class.forName(JDBC_DRIVER);    conn=DriverManager.getConnection(JDBC_URL,JDBC_NAME,JDBC_PWD);   } catch (Exception e) {    e.printStackTrace();   }   System.out.println("数据库打开成功...");   return conn;  } /**  * close dbconn   * @param conn  * @param pstmt  */  public void closeConn(Connection conn,PreparedStatement pstmt,ResultSet rs){   try {    if(rs!=null){     rs.close();    }    if(pstmt!=null){     pstmt.close();    }    if(conn!=null){     conn.close();    }   } catch (Exception e) {    e.printStackTrace();   }   System.out.println("数据库关闭成功.....");  } /**  * common get list<map>    */  public static  List<Map<String,Object>>getListMap(String sql) throws Exception{   List<Map<String,Object>>list=new ArrayList<Map<String,Object>>(); //open db connection   DbUtils.getInstance().getConn();   int index=1;   pstmt=conn.prepareStatement(sql);      rs=pstmt.executeQuery();   ResultSetMetaData metaData=rs.getMetaData();   int colLenth=metaData.getColumnCount();//获得长度   while(rs.next()){    Map<String,Object>map=new HashMap<String, Object>();    for (int i = 0; i < colLenth; i++) {     //获取当前列的名称 列只从1开始     String colName=metaData.getColumnName(i+1).toLowerCase();  // System.out.println("colName_____:"+colName);       Object colValue=rs.getObject(colName);     if(colValue==null){      colValue="";//数据库的列值可能为空     }     map.put(colName,colValue);    }    list.add(map);   }  // System.out.println("dbutils list____:"+list); //close db connection   DbUtils.getInstance().closeConn(conn, pstmt, rs);   return list;  } /**  * common update method   */  //公共的增删改的方法  public static boolean updatePstmt(String sql){ //open db link     DbUtils.getInstance().getConn();   boolean flag=false;   //pstmt   try {    pstmt=conn.prepareStatement(sql);    int index=1;    int result=-1;    result=pstmt.executeUpdate();    flag=result>0?true:false;   } catch (SQLException e) {    // TODO Auto-generated catch block    e.printStackTrace();   } //close db link     DbUtils.getInstance().closeConn(conn, pstmt, rs);   return flag;  } /**  * main test   */  public static void main(String[] args) {   try {    String sql="select * from emp";//emp表可以copy..scott.emp的表    List list=getListMap(sql);    System.out.println("____读取数据成功____:"+list);    //String sql="update emp set sal=0 ";    //if(updatePstmt(sql)==true){    // System.out.println("修改数据成功!!");     //}   } catch (Exception e) {    // TODO: handle exception   }  } /**  * end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  end  d    */ }

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )