java鏈接3種數據庫 JdbcLinkDB --201801

先看這篇記錄 html

java鏈接3種數據庫 JdbcLinkDB 測試 --201801 配置文件放在jar外面 讀取,遇到的問題 - 海藍steven - 博客園
https://www.cnblogs.com/rogge7/p/8269842.htmljava

//-------------------------------mysql

需求:sql

一、同時測試 mssql,mysql,oracle 三種數據庫數據庫

二、jar包的形式,配置文件在jar包外面,隨時修改oracle

須要找到鏈接這三個數據庫的驅動jar包,添加到項目中ide

 

過程:函數

剛開始不當心打包成jar包 運行jar 提示如下異常:sqlserver

 

改爲:把項目打包成 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
相關文章
相關標籤/搜索