java连接Oracle和PostGreSQL

1.查看orcale版本

方法一:登录时会显示版本号

[oracle@ogg1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on 骀涓 7?20 17:51:14 2015
Copyright (c) 1982, 2011, Oracle.  All rights reserved.

方法二:

SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE    11.2.0.3.0      Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production

2.下载对应驱动

百度 Oracle Database 11.2 JDBC Driver,中间填写你的版本号

这里写图片描述

下载的时候,注意支持的JDK版本.

3.代码

DB连接类

package com.kensure.forecast.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class DbUtil {

    private String jdbcUrl;
    private String jdbcDriverClassName;
    private String jdbcUsername;
    private String jdbcPassword;

    public void setJdbcUrl(String jdbcUrl) {
        this.jdbcUrl = jdbcUrl;
    }

    public void setJdbcDriverClassName(String jdbcDriverClassName) {
        this.jdbcDriverClassName = jdbcDriverClassName;
        try {
            Class.forName(this.jdbcDriverClassName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
    }

    public void setJdbcUsername(String jdbcUsername) {
        this.jdbcUsername = jdbcUsername;
    }

    public void setJdbcPassword(String jdbcPassword) {
        this.jdbcPassword = jdbcPassword;
    }

    /**
     * 获取连接
     * 
     * @return
     */
    public Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;

    }

    /**
     * 关闭连接
     * 
     * @param rs
     * @param statement
     * @param conn
     */
    public void closeConnection(ResultSet rs, Statement statement, Connection conn) {
        try {
            if (rs != null) {
                rs.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        } finally {
            try {
                if (statement != null) {
                    statement.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                try {
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public static void main(String[] args) throws Exception {

        连接Orcale

        Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@ip:1521:orcl", "wifiuser",
            // 连接数据的方法有四种, 这个属于最简单的,一般用网页程序
           // "jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password,
           // 计算机名称,要是自己不知道可以在计算机属性查知.
           // 监听端口一般默认是1521, 要是改变了就看自己的监听文件listener.ora
           // 系统实例名一般是默认orcl, 要是不是的话就用 select name from v$database; 看看当前的实例名.
           // username,password,就是登陆数据库的用户名和密码.
        PreparedStatement ps = conn.prepareStatement("select *  from WA_WIFIMAC  where to_char(cjsj,'yyyy/mm/dd') = '2018/04/19' and  rownum <= 100");
        ResultSet rs = ps.executeQuery();
        ResultSetMetaData mataData = rs.getMetaData();
        int columnCount = mataData.getColumnCount();

        连接PostgreSQL

        Class.forName("org.postgresql.Driver");
        Connection connPost = DriverManager.getConnection("jdbc:postgresql://ip:5432/wifiuser", "postgres",
                "541711153");
        String sql = " selec * from \"public\".\"wa_wifimac_2018_4_19\" ";
        PreparedStatement ps1 = conn.prepareStatement(sql);
        ResultSet rs1 = ps.executeQuery();

        做处理。。。。

        ps.close();
        conn.close();

        psInto.close();
        connPost.close();
    }

}

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/80089181