Java连接MySQL数据库和Oracle数据库并进行简单的SQL操作的一次尝试


MySQL和Oracle的JDBC的maven dependency如下:

    <!-- mysql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.36</version>
    </dependency>
    <!-- oracle -->
    <dependency>      
      <groupId>com.oracle</groupId>      
      <artifactId>ojdbc7</artifactId>      
      <version>12.1.0.2</version>
    </dependency> 


由于Oracle授权问题,Maven不提供Oracle JDBC driver,maven添加oracle jdbc依赖的方法见:http://www.cnblogs.com/wuyouwulv/p/maven_configure_oracle_jdbc.html
代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;

public class SQLTest {
    
    private static String APPENDED_DB_INFO = "?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&useLegacyDatetimeCode=false&serverTimezone=Asia/Shanghai";
    
    public static Connection getMySQLConnection(String dbUrl, String dbUser, String dbPwd) throws ClassNotFoundException, SQLException {
        // 加载驱动器,下面的代码为加载MySQL驱动器
        Class.forName("com.mysql.jdbc.Driver");
        // 注册MySQL驱动器
        DriverManager.registerDriver(new com.mysql.jdbc.Driver());
        // 建立数据库连接
        return java.sql.DriverManager.getConnection(dbUrl, dbUser, dbPwd);
    }
    
    public static Connection getOracleConnection(String dbUrl, String dbUser, String dbPwd) throws ClassNotFoundException, SQLException {
        Class.forName("oracle.jdbc.driver.OracleDriver");
        return java.sql.DriverManager.getConnection(dbUrl, dbUser, dbPwd);
    }
    
    public static void main(String[] args) {
        String dbUrl = "jdbc:mysql://host:port/dbname" + APPENDED_DB_INFO;
        String dbUser = "mysql_username";
        String dbPwd = "mysql_password";
        Statement stmt = null;
        ResultSet rs = null;
        
        // 连接MySQL数据库
        try {
            Connection con =  getMySQLConnection(dbUrl, dbUser, dbPwd);
            stmt = con.createStatement();
            rs = stmt.executeQuery("SELECT id,age,date FROM user");
            
            while(rs.next()) {
                int product_id = rs.getInt(1);
                int categories_id = rs.getInt(2);
                Date date_added = rs.getDate(3);
                
                System.out.println(product_id + "," + categories_id + "," + date_added);
            }
            
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        
        // 连接Oracle数据库
        dbUrl = "jdbc:oracle:thin:@host:port:dbname";
        dbUser = "oracle_username";
        dbPwd = "oracle_password";
        
        try {
            Connection con = getOracleConnection(dbUrl, dbUser, dbPwd);
            stmt = con.createStatement();
            String sql = "select name id from user";
            rs = stmt.executeQuery(sql);
            
            while(rs.next()){
                String res = rs.getString(1);
                System.out.println(res);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

优质内容筛选与推荐>>
1、指针 apply call
2、qsub,qdel,qmgr,qstat,qhost
3、[PHP] php + phpstudy + phpstrom + xdebug + postman开启调试
4、记录近期工作笔记
5、XML/XSD/XSLT


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn