zoukankan      html  css  js  c++  java
  • java连接3种数据库 JdbcLinkDB --201801

    先看这篇记录 

    java连接3种数据库 JdbcLinkDB 测试 --201801 配置文件放在jar外面 读取,遇到的问题 - 海蓝steven - 博客园
    https://www.cnblogs.com/rogge7/p/8269842.html

    //-------------------------------

    需求:

    1、同时测试 mssql,mysql,oracle 三种数据库

    2、jar包的形式,配置文件在jar包外面,随时修改

    需要找到连接这三个数据库的驱动jar包,添加到项目中

    过程:

    刚开始不小心打包成jar包 运行jar 提示以下异常:

    改成:把项目打包成 Runnable jar,选择主函数入口

    运行成功,文件结构如下,考过去使用,Jdk1.8.0_102

    一些文件:

    start.bat 文件

    java -version
    java -jar JdbcLinkDB.jar
    pause

    jdbcCon.properties文件

    # connect oracle
    #driver = oracle.jdbc.driver.OracleDriver
    #url = jdbc:oracle:thin:@localhost:1521:orcl
    #username = system
    #password = 123333
    
    # connect mssql
    #driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
    #url = jdbc:sqlserver://127.0.0.1:1433;DatabaseName=GpsDB
    #username = sa
    #password = 123456
    
    # connect mysql
    driver = com.mysql.jdbc.Driver
    url = jdbc:mysql://121.12.249.239:14015/fsjxbdb1
    username = fsjxbadmin
    password = fsjxbadmin!23
    package com.chanbo.yy;
    
    import java.io.FileInputStream;
    import java.io.IOException;  
    import java.io.InputStream;  
    import java.sql.Connection;  
    import java.sql.DriverManager;  
    import java.sql.SQLException;  
    import java.util.Properties;  
      
    /** 
     * @author  
     * 
     */  
    public class ConnectionFactory {  
    /** 
     * 数据库连接类 
     */  
          
        //数据库驱动程序类名  
        private static String DRIVER = "";  
        //连接数据库的URL  
        private static String URL = "";  
        //连接数据库的用户名  
        private static String USERNAME = "";  
        //连接数据库的密码  
        private static String PASSWORD = "";  
              
        private ConnectionFactory(){  
        }  
          
        static{  
            getPropertiesInfo();          
        }  
          
        /** 
         * 该方法用来获得属性文件中的driver、url、username、password 
         */  
        private static void getPropertiesInfo(){  
            Properties prop = new Properties();
            
    //        InputStream inStream = Thread.currentThread().getContextClassLoader()  
    //                .getResourceAsStream("jdbcCon.properties");  
           // InputStream inStream = this.getClass().getResourceAsStream("/jdbcCon.properties");  
            //FileInputStream aa ;
            
            
            try{  
                //获得相应的键值对  
               // prop.load(inStream);
                prop.load(new FileInputStream("jdbcCon.properties"));  
              //  prop.load(aa);
                
            }catch(IOException e){  
                e.printStackTrace();  
            }  
              
            //根据相应的键获得对应的值  
            DRIVER = prop.getProperty("driver");  
            URL = prop.getProperty("url");  
            USERNAME = prop.getProperty("username");  
            PASSWORD = prop.getProperty("password");          
                    
        }  
          
        /** 
         * 该方法用来加载驱动,并获得数据库的连接对象 
         * 
         * @return 数据库连接对象conn 
         */  
        public static Connection getConnnection(){  
            Connection conn = null;  
            try{  
                //加载数据库驱动程序  
                Class.forName(DRIVER);  
            }catch(ClassNotFoundException e){  
                e.printStackTrace();  
            }  
            try{  
                System.out.println("-- 连接URL : "+URL);  
                //获得数据库连接对象  
                conn = DriverManager.getConnection(URL, USERNAME, PASSWORD);  
                System.out.println("-- 连接成功");
                
            }catch(SQLException e){  
                System.out.println("-- 连接失败");  
                e.printStackTrace();  
            }  
              
            return conn;  
        }  
    }  
    ConnectionFactory.java
    /**
     * 
     */
    package com.chanbo.yy;
    
    import java.sql.Connection;
    import java.util.Scanner;
    
    /**
     * @author yanfazhongxin
     *
     */
    public class LinkOracleTest {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Connection conn =    ConnectionFactory.getConnnection();
            DbClose.close(conn);
            Scanner scan = new Scanner(System.in);
            String read = scan.nextLine();
        }
    
    }
    LinkOracleTest .java
    package com.chanbo.yy;
    import java.sql.Connection;  
    import java.sql.PreparedStatement;  
    import java.sql.ResultSet;  
    import java.sql.SQLException;  
    import java.sql.Statement;  
      
    /** 
     * @author  
     * 
     */  
    public class DbClose {  
    /** 
     * 数据库关闭类 
     */  
        /** 
         * 关闭数据库连接 
         * @param conn 连接类对象 
         */  
        public static void close(Connection conn){  
            if(null != conn){  
                try{  
                    conn.close();  
                }catch(SQLException e){  
                    e.printStackTrace();  
                }  
            }  
        }  
          
        /** 
         * 关闭数据库语句 
         * @param stmt 语句对象 
         */  
        public static void close(PreparedStatement pre){  
            if(null != pre){  
                try{  
                    pre.close();  
                }catch(SQLException e){  
                    e.printStackTrace();  
                }  
            }  
        }  
          
        /** 
         *关闭数据库结果集 
         * @param rs 结果集对象 
         */  
        public static void close(ResultSet rs){  
            if(null != rs){  
                try{  
                    rs.close();  
                }catch(SQLException e){  
                    e.printStackTrace();  
                }  
            }  
        }  
          
        public static void close(ResultSet rs,PreparedStatement pre,Connection conn){  
            close(rs);  
            close(pre,conn);  
        }  
        public static void close(PreparedStatement pre,Connection conn){  
            close(pre);  
            close(conn);  
            System.out.println("数据库已关闭!");  
        }  
    }  
    DbClose.java
  • 相关阅读:
    C#设计模式之单例模式(Singleton Pattern)
    ASP.NET MVC Route之WebForm路由与源码分析(二)
    ASP.NET MVC Route之WebForm路由与源码分析(一)
    Autofac初探(一)
    Razor基础语法一
    ASP.NET MVC之视图传参到控制器的几种形式
    LINQ to SQL语句(2)Count/Sum/Min/Max/Avg操作符
    LINQ to SQL语句(1)Select查询的九种形式
    学习《深入理解C#》—— 泛型 (第三章3.1---3.2)
    学习《深入理解C#》—— 委托的构成、合并与删除和总结 (第二章1.1---1.4)
  • 原文地址:https://www.cnblogs.com/rogge7/p/9947887.html
Copyright © 2011-2022 走看看