zoukankan      html  css  js  c++  java
  • Java:JDBC篇,Connection连接至几种常用数据库(Oracle,MySQL,Access,SQL Server)

    1. 描述

    尝试用JDBC分别连接到Oracle/SQL/MySQL/Access等常用数据库。

    1. Oracle 11g数据库,需要ojdbc6.jar
    2. MySQL 5.5数据库,需要mysql-connector-java-3.1.10-bin.jar
    3. Access 2003数据库,需要jackcess-1.2.9.jar,依赖包:commons-lang-2.6.jar,commons-logging-1.1.1.jar
    4. SQL Server 2012数据库,需要sqljdbc4.jar(JDK版本为1.6以上)

    2. 示范代码

    package com.clzhang.sample.jdbc;
    
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    
    import org.junit.Test;
    
    import com.healthmarketscience.jackcess.Database;
    import com.healthmarketscience.jackcess.Table;
    
    /**
     * 常用数据库的连接创建操作
     * 1.Oracle 11g数据库,需要ojdbc6.jar
     * 2.MySQL 5.5数据库,需要mysql-connector-java-3.1.10-bin.jar
     * 3.Access 2003数据库,需要jackcess-1.2.9.jar,依赖包:commons-lang-2.6.jar,commons-logging-1.1.1.jar
     * 4.SQL Server 2012数据库,需要sqljdbc4.jar(JDK版本为1.6以上)
     * @author acer
     *
     */
    public class ConnectionTest {
        
        @Test
        public void testOracle() throws Exception {
            // 数据库连接配置参数
            String driver_name = "oracle.jdbc.driver.OracleDriver";
            String jdbc_url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
            String jdbc_user = "mytest";
            String jdbc_password = "yourpass";
            
            Class.forName(driver_name);
            Connection conn = DriverManager.getConnection(jdbc_url, jdbc_user,
                    jdbc_password);
            Statement stmt= conn.createStatement();
            ResultSet rs = stmt.executeQuery("select SYSDATE from DUAL");
            if(rs.next()) {
                System.out.println(rs.getString(1));
            }
            rs.close();
            stmt.close();
            conn.close();
            
            System.out.println("--------------------------------");
        }
        
        @Test
        public void testMySQL() throws Exception {
            // 数据库连接配置参数
            String driver_name = "org.gjt.mm.mysql.Driver";
            String jdbc_url = "jdbc:mysql://localhost/xuejia?user=root&password=yourpass&useUnicode=true&characterEncoding=gb2312";
            
            Class.forName(driver_name);
            Connection conn = DriverManager.getConnection(jdbc_url);
            Statement stmt= conn.createStatement();
            ResultSet rs = stmt.executeQuery("select CONTENTID,TITLE from CONTENTINFO");
            while(rs.next()) {
                System.out.println(rs.getString(1) + rs.getString(2));
            }
            rs.close();
            stmt.close();
            conn.close();
            System.out.println("--------------------------------");
        }    
        
        @SuppressWarnings("rawtypes")
        @Test
        public void testAccess() throws Exception {
            // Access最简单
            String db_filename = "D:\\MyDocuments\\Docs\\Contacts.mdb";
            
            Table table = Database.open(new File(db_filename)).getTable("RECORDS");
            for(Map row : table) {  
                   System.out.println(row.get("LASTNAME") + ":" + row.get("TEL1")); 
            }
    
            System.out.println("--------------------------------");
        }
        
        @Test
        public void testSQLServer() throws Exception {
            // 因为是JDBC 4.0,所以不需要加载JDBC驱动包
            String jdbc_url = "jdbc:sqlserver://localhost:1434;databaseName=mydb;user=sa;password=yourpass;"; 
            Connection conn = DriverManager.getConnection(jdbc_url);
            Statement stmt= conn.createStatement();
            ResultSet rs = stmt.executeQuery("select ID,TITLE,WEBCONTENT from dbo.WEBINFO");
            while(rs.next()) {
                System.out.println(rs.getString(1) + rs.getString(2));
            }
            rs.close();
            stmt.close();
            conn.close();
    
            System.out.println("--------------------------------");
        }        
    }
  • 相关阅读:
    treeview(树加载)
    9.SQL存储过程实例详解
    面向对象之封装
    cookie和session
    自定义web框架
    IO多路复用
    协程
    concurrent.futures模块(进程池/线程池)
    死锁与递归锁及信号量等
    并发编程之多线程
  • 原文地址:https://www.cnblogs.com/nayitian/p/2873728.html
Copyright © 2011-2022 走看看