• JAVA与数据库连接的方法(转摘)


    JAVA与数据库连接方法
                                  

    _2用JAVA连接数据库主要有两种方式,一是用JDBC-ODBC桥来连接,二是用相关厂商提供的相应驱动程序来连接。

    1、JDBC-ODBC桥接

    JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。对于WINDOWS平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。
    由于JDBC在设计上与ODBC很接近。在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。通行方式如图所示:

    应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源 。

    JAVA实现例:假定连接SQL SERVER 2000的GoodsSupply数据库。

    String url="jdbc:odbc:GoodsSupply";
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动
    }catch(ClassNotFoundException e){
    System.out.println("Can not load Jdbc-Odbc Bridge Driver");
    System.err.print("ClassNotFoundException:");
    System.err.println(e.getMessage());
    }
    Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000认证
    DatabaseMetaData dmd=con.getMetaData(); //DMD为连接的相应情况
    System.out.println("连接的数据库:"+dmd.getURL());
    System.out.println("驱动程序:"+dmd.getDriverName());

    Statement sm=con.createStatement();
    String command="select "+cName+" from "+tableName;
    ResultSet rs=sm.executeQuery(command); //执行查询

    do
    {
    String result=rs.getString(cName); //数据库语言设置为中文,不用转换编码
    //result=new String(result.getBytes("ISO-8859-1"),"GB2312");
    System.out.println(result);
    }while(rs.next());

    }
    2.使用厂商提供的驱动程序

    这种实现方法是直接使用数据库厂商提供的用专用的网络协议创建的驱动程序,通过它可以直接将JDBC API调用转换为直接网络调用。这种调用方式一般性能比较好,而且也是实用中最简单的方法。因为它步需要安装其他的库或中间件。几乎所有的数据库厂商都为他们的数据库提供了这种数据库提供了这种JDBC驱动程序,也可以从第三方厂商获得这些驱动程序。
    从网址http://industry.Java.sun.com/products/jdbc/drivers/可以看到所有有用的驱动程序的清单。其结果如图所示: 应用程序---JDBC API---驱动程序---数据源 。

    首先要安装JDBC的驱动程序。

    JAVA实现例:(以SQL SERVER2000 为例。)

    try
    {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    System.out.println("驱动程序已加载");
    //SQL SERVER的登陆方式必须为使用SQL SERVER密码登陆认证方式
    Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://SERVERNAME:1433","USER","PASSWORD");
    con.setCatalog("GoodsSupply");
    System.out.println("OK,成功连接到数据库");
    }catch(Exception ex) {
    ex.printStackTrace();
    }
    Statement sm=con.createStatement();
    String command="select "+cName+" from "+tableName;
    ResultSet rs=sm.executeQuery(command);
    do
    {
    result=rs.getString(cName);
    //result=new String(result.getBytes("ISO-8859-1"),"GB2312");
    System.out.println(result);
    }while(rs.next());
    }

    3.总结常用数据库的JAVA连接[zz自http://www.54bk.com/more.asp?name=syc&id=4184]

    1. MySQL(http://www.mysql.com)mm.mysql-2.0.2-bin.jar
    Class.forName( "org.gjt.mm.mysql.Driver" );
    cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd );

    2. PostgreSQL(http://www.de.postgresql.org)pgjdbc2.jar
    Class.forName( "org.postgresql.Driver" );
    cn = DriverManager.getConnection( "jdbc:postgresql://MyDbComputerNameOrIP/myDatabaseName", sUsr, sPwd );

    3. Oracle(http://www.oracle.com/ip/deploy/database/oracle9i/)classes12.zip
    Class.forName( "oracle.jdbc.driver.OracleDriver" );
    cn = DriverManager.getConnection( "jdbc:oracle:thin:@MyDbComputerNameOrIP:1521:ORCL", sUsr, sPwd );

    4. Sybase(http://jtds.sourceforge.net)jconn2.jar
    Class.forName( "com.sybase.jdbc2.jdbc.SybDriver" );
    cn = DriverManager.getConnection( "jdbc:sybase:Tds:MyDbComputerNameOrIP:2638", sUsr, sPwd );
    //(Default-Username/Password: "dba"/"sql")

    5. Microsoft SQLServer(http://jtds.sourceforge.net)
    Class.forName( "net.sourceforge.jtds.jdbc.Driver" );
    cn = DriverManager.getConnection( "jdbc:jtds:sqlserver://MyDbComputerNameOrIP:1433/master", sUsr, sPwd );

    6. Microsoft SQLServer(http://www.microsoft.com)
    Class.forName( "com.microsoft.jdbc.sqlserver.SQLServerDriver" );
    cn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://MyDbComputerNameOrIP:1433;databaseName=master", sUsr, sPwd );

    7. ODBC
    Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
    Connection cn = DriverManager.getConnection( "jdbc:odbc:" + sDsn, sUsr, sPwd );

    8.DB2
    Class.forName("com.ibm.db2.jdbc.net.DB2Driver");
    String url="jdbc:db2://192.9.200.108:6789/SAMPLE"
    cn = DriverManager.getConnection( url, sUsr, sPwd ); 

    摘自:  http://blog.163.com/wangyongfei_2008@yeah/blog/static/172238329201151173525795/      

  • 相关阅读:
    检查型异常(Checked Exception)与非检查型异常(Unchecked Exception)
    maven跳过单元测试-maven.test.skip和skipTests的区别
    java JFR
    Docker常用命令
    关键字group by 、 Having的 用法
    css特效
    sql
    初识Hibernate之理解持久化类
    Hibernate 搭建
    基本 SQL 之增删改查
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/2171773.html
Copyright © 2020-2023  润新知