• Java mysql数据库连接Demo1


    public class MysqlUtil {
        /**
         * 链接数据库
         */
        /**
         * 方法一:
         * 加载驱动的方法不止一种,但这种最常用
          */
        public static Connection getConnectionOne(String database,String username,String password){
            try {
                Class.forName("com.mysql.jdbc.Driver");
                Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+database,username,
                        password);
                return connection;
            }catch(Exception e){
                e.printStackTrace();
            }
            return null;
        }
        /**
         * 方法二:
         * 利用properties文件
         * ::::: 在Web 编程时 文件难以定位
          */
        public static Connection getConnectionTwo() {
            /**
             * 建立文件
             */
            Properties pro = new Properties();
    
            InputStream in = MysqlUtil.class.getClassLoader().getResourceAsStream("mysqllog.properties");
            try {
                pro.load(in);
                Class.forName(pro.getProperty("driver"));
                String username = pro.getProperty("user");
                String password = pro.getProperty("password");
                String database = pro.getProperty("database");
                String url = pro.getProperty("url");
    
                Connection connection = DriverManager.getConnection(url+database,username,password);
                return connection;
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            return null;
        }
        // Connection ,Statement, ResultSet 这几个资源的关闭是有顺序的
        public static void close (Object...objects) throws MysqlCloseException {
            Map<String,Object> map = new HashMap();
            for(Object o : objects){
                if(o instanceof ResultSet){
                    map.put("ResultSet",o);
                }else if(o instanceof Connection){
                    map.put("Connection",o);
                }else if(o instanceof Statement){
                    map.put("Statement",o);
                }else if(o instanceof PreparedStatement){
                    map.put("PreparedStatement",o);
                }else{
                    throw new MysqlCloseException("关闭异常,不能处理");
                }
            }
            Object obj = map.get("ResultSet");
            if(obj!=null){
                ResultSet r = (ResultSet)obj;
                try {
                    r.close();
                    map.remove("ResultSet");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            obj = map.get("PreparedStatement");
            if(obj!=null){
                PreparedStatement p = (PreparedStatement)obj;
                try {
                    p.close();
                    map.remove("PreparedStatement");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            obj = map.get("Statement");
            if(obj!=null){
                Statement s = (Statement)obj;
                try {
                    s.close();
                    map.remove("Statement");
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            obj = map.get("Connection");
            if(obj!=null){
                Connection c = (Connection)obj;
                try{
                    c.close();
                    map.remove("Connection");
                }catch(SQLException e){
                    e.printStackTrace();
                }
            }
        }
    }
  • 相关阅读:
    【SQL基础】三种类别语句
    【安装eclipse, 配置java环境教程】 编写第一个java程序
    【c++错误】类的语法错误 error c2533:constructors not allowed a return type(构造函数不允许返回一个类型)
    【经典算法大全】收集51种经典算法 初学者必备
    【费式搜寻法】
    【插补搜寻法】
    【基数排序(桶排序)】
    【字串核对】
    【老鼠走迷宫二】
    【稀疏矩阵】
  • 原文地址:https://www.cnblogs.com/Diyo/p/11421665.html
Copyright © 2020-2023  润新知