博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java数据库连接工具类
阅读量:6034 次
发布时间:2019-06-20

本文共 3743 字,大约阅读时间需要 12 分钟。

hot3.png

 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   */ public static  List
>getListMap(String sql) throws Exception{  List
>list=new ArrayList
>();//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
map=new HashMap
();   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   */}

175304_chCP_2425851.png

转载于:https://my.oschina.net/u/2425851/blog/616536

你可能感兴趣的文章
||和&&返回什么?
查看>>
linux在文件中查找指定字符串,然后根据查找结果来做进一步的处理
查看>>
在Oracle中删除所有强制性外键约束
查看>>
dhcp
查看>>
【R】R语言使用命令行参数 - [编程技巧(Program Skill)]
查看>>
经典算法题每日演练——第二题 五家共井
查看>>
存储过程中拼接的变量和点的问题
查看>>
ASP.NET那点不为人知的事(一)
查看>>
HTML 表格
查看>>
VMware 虚拟化编程(7) — VixDiskLib 虚拟磁盘库详解之三
查看>>
php 未实例化类调用方法的问题
查看>>
Anaconda jupyter notebook 出现 kernel error 解决办法
查看>>
我对读计算机软件专业硕士的几点看法
查看>>
用JS写CSS
查看>>
TOJ4537: n阶行列式
查看>>
算法刷题笔记-stack-四则运算
查看>>
3.16
查看>>
Linux下arp用法
查看>>
表单文件上传与文件下载
查看>>
jquery 中prop()的使用方法
查看>>