zoukankan      html  css  js  c++  java
  • 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();
                }
            }
        }
    }
  • 相关阅读:
    [Jenkins] 批量删除构建历史
    [Android Tips] 32. 解决 Android Device Monitor 在 Mac OS X 卡住
    [Gradle] 查看项目依赖
    [Gradle] 获取 gradle 命令行参数
    [Android Tips] 31.如何将第三库引入的 Permission 删除掉
    [Gradle] 发布构件到本地仓库
    [Android Tips] 30.如何在 Android Studio 中一次性格式化所有代码
    下载安卓应用的历史版本
    设置int、float型数据的输出格式
    头文件limits—各个类型的数据的范围
  • 原文地址:https://www.cnblogs.com/Diyo/p/11421665.html
Copyright © 2011-2022 走看看