zoukankan      html  css  js  c++  java
  • JDBCUtil

    package com.baizhi.JDBCUtil;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Properties;
    
    public class JDBCUtil {
        static ThreadLocal<Connection> tl = new ThreadLocal<Connection>(); 
        private static String className;
        private static String url;
        private static String user;
        private static String pwd;
        static Properties pro = null;
        static {
            //创建properties
            pro = new Properties();
            //获取输入流
            InputStream is = JDBCUtil.class.getResourceAsStream("/JDBCUtil.properties");
            //读取JDBCUtil.properties
            try {
                pro.load(is);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            //获取键值对
             className = pro.getProperty("ClassName");
             url = pro.getProperty("url");
             user = pro.getProperty("user");
             pwd = pro.getProperty("psw");
        }
        //加载驱动.获取连接
        public static Connection getConn() {
            if (tl.get() == null) {
                try {
                    Class.forName(className);
                    Connection conn = DriverManager.getConnection(url, user,pwd);
                    tl.set(conn);
                } catch (Exception e) {
                    throw new RuntimeException(e);
                }
            } 
            return tl.get();
        }
        
        
        //关闭资源    
        public static void closeAll(Connection conn,PreparedStatement pstm,ResultSet rs) {
            if(rs != null) {
                try {
                    rs.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
            if(pstm != null) {
                try {
                    pstm.close();
                } catch (SQLException e) {
                    throw new RuntimeException(e);
                }
            }
            if(conn != null) {
                try {
                    tl.remove();
                    conn.close();    
                } catch (SQLException e) {
                    throw new RuntimeException(e+"关闭conn链接出错");
                }
            }
        }
    }

    配置文件 (properties)

    ClassName = oracle.jdbc.OracleDriver
    url = jdbc:oracle:thin:@localhost:1521:xe
    user = hr
    psw = hr
    以粮为纲全面发展
  • 相关阅读:
    40 图 |我用 Mac M1 玩转 Spring Cloud
    # 20 图 |6000 字 |实战缓存(上篇)
    博客园,你肿么了?
    ES 终于可以搜到”悟空哥“了!
    48 张图 | 手摸手教你微服务的性能监控、压测和调优
    植树节,种个二叉树吧?
    紫霞仙子:区块链的十二连问
    太上老君的炼丹炉之分布式 Quorum NWR
    病毒入侵:全靠分布式
    为什么要“除夕”,原来是内存爆了
  • 原文地址:https://www.cnblogs.com/alexliuf/p/13515176.html
Copyright © 2011-2022 走看看