• JDBC技术


    利用传统的jdbc操作数据库的步骤:获取连接→创建Statement→执行数据操作→获取结果→关闭Statement→关闭结果集→关闭连接;

    JDBC操作数据库步骤概述如下:

    1.注册加载驱动类

    2.获取连接

    3.创建语句对象

    4.执行SQL语句(excute)

    5(可选).处理结果

    6.关闭相关对象(注意顺序:依次为ResultSet、Statement/PreparedStatement、Connction)

    package hqs;
    import java.sql.*;
    public class DataBasePractice {
    
        public static void main(String[] args) {
            //声明Connection对象
            Connection con;
            //驱动程序名
            String driver = "com.mysql.jdbc.Driver";
            //URL指向要访问的数据库名mydata
            String url = "jdbc:mysql://localhost:3306/mydata";
            //MySQL配置时的用户名
            String user = "root";
            //MySQL配置时的密码
            String password = "root";
            //遍历查询结果集
            try {
                //加载驱动程序
                Class.forName(driver);
                //1.getConnection()方法,连接MySQL数据库!!
                con = DriverManager.getConnection(url,user,password);
                if(!con.isClosed())
                    System.out.println("Succeeded connecting to the Database!");
                //2.创建statement类对象,用来执行SQL语句!!
                Statement statement = con.createStatement();
                //要执行的SQL语句
                String sql = "select * from student";
                //3.ResultSet类,用来存放获取的结果集!!
                ResultSet rs = statement.executeQuery(sql);
                System.out.println("-----------------");
                System.out.println("执行结果如下所示:");  
                System.out.println("-----------------");  
                System.out.println(" 学号" + "	" + " 姓名");  
                System.out.println("-----------------");  
                
                String name = null;
                String id = null;
                while(rs.next()){
                    //获取stuname这列数据
                    name = rs.getString("stuname");
                    //获取stuid这列数据
                    id = rs.getString("stuid");
                    //首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
                    //然后使用GB2312字符集解码指定的字节数组。
                    name = new String(name.getBytes("ISO-8859-1"),"gb2312");
                    //输出结果
                    System.out.println(id + "	" + name);
                }
    <span>            </span>rs.close();
                con.close();
            } catch(ClassNotFoundException e) {   
                //数据库驱动类异常处理
                System.out.println("Sorry,can`t find the Driver!");   
                e.printStackTrace();   
                } catch(SQLException e) {
                //数据库连接失败异常处理
                e.printStackTrace();  
                }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally{
                System.out.println("数据库数据成功获取!!");
            }
        }
    
    }
    View Code

    JDBC连接各种数据库的字符串大同小异,在此总结一下,备忘。

    oracle
        driverClass:oracle.jdbc.driver.OracleDriver
        url:jdbc:oracle:thin:@127.0.0.1:1521:dbname

    (1)连接Oracle 8/8i/9i/10g/11g(thin模式)

    Class.forName("oracle.JDBC.driver.OracleDriver").newInstance();

    String url="JDBC:oracle:thin:@localhost:1521:orcl"       //orcl为Oracle数据库的SID

    String user="test";

    String password="test";

    Connection con=DriverManager.getConnection(url,user,password);


    mysql
        driverClass:com.mysql.jdbc.Driver

        PS:有的时候,mysql的驱动类也也会看到使用org.gjt.mm.mysql.Driver的情况,org.gjt.mm.mysql.Driver是早期的驱动名称,后来就改名为com.mysql.jdbc.Driver,现在一般都推荐使用 com.mysql.jdbc.Driver。在最新版本的mysql jdbc驱动中,为了保持对老版本的兼容,仍然保留了org.gjt.mm.mysql.Driver,但是实际上 org.gjt.mm.mysql.Driver中调用了com.mysql.jdbc.Driver,因此现在这两个驱动没有什么区别。
        url:jdbc:mysql://localhost:3306/mydb

    (2)连接MySQL数据库

    Class.forName("com.mysql.jdbc.Driver");

    String url="JDBC:mysql://localhost:8080/testDB";

    String user="test"; String password="test";

    Connection con=DriverManager.getConnection(url,user,password);


    DB2
        driverClass:com.ibm.db2.jcc.DB2Driver
        url:jdbc:db2://127.0.0.1:50000/dbname

    (3)连接DB2数据库

    Class.forName("com.ibm.db2.jcc.DB2Driver");

    String url="JDBC:db2://localhost:5000/testDb";

    String user="test"; String password="test";

    Connection con=DriverManager.getConnection(url,user,password);

    sybase
        driverClass:com.sybase.jdbc.SybDriver
        url:jdbc:sybase:Tds:localhost:5007/dbname

    (4)连接Sybase数据库

    Class.forName("com.sybase.JDBC.SybDriver");

    String url="JDBC:sybase:Tds:localhost:5007/testDb";

    Properties pro=System.getProperties();

    pro.put("user","userId");

    pro.put("password","user_password");

    Connection con=DriverManager.getConnection(url,pro);


    PostgreSQL
        driverClass:org.postgresql.Driver
        url:jdbc:postgresql://localhost/dbname

    (5)连接PostgreSQL数据库

    Class.forName("org.postgresql.Driver");

    String url="JDBC:postgresql://localhost/testDb";

    String user="test"; String password="test";

    Connection con=DriverManager.getConnection(url,user,password);


    Sql Server2000
        driverClass:com.microsoft.jdbc.sqlserver.SQLServerDriver
        url:jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname

    (6)连接SQL Server2000数据库

    Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver");

    String url="JDBC:microsoft:sqlserver://localhost:1433;DatabaseName=testDb";

    String user="test"; String password="test";

    Connection con=DriverManager.getConnection(url,user,password);


    Sql Server2005
        driverClass:com.microsoft.sqlserver.jdbc.SQLServerDriver
        url:jdbc:sqlserver://localhost:1433; DatabaseName=dbname

    (7)连接Access数据库

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

    String url="JDBC:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+application.getRealPath("/Data/testDb/mdb");

    Connection conn=DriverManager.getConnection(url,"","");

    (8)连接informix数据库

    Class.forName("com.informix.JDBC.ifxDriver");

    String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUser;password=testpassword"; Connection con=DriverManager.getConnection(url);

    //1.获得连接
    Connection conn = driver.connect(url, info);
    String sql="...";     //sql语句
    
    //2.获取statement对象
    Statement statement = conn.createStatement();
    
    //3.执行
    statement.executeUpdate(sql);
    
    //4.关闭
    statement.close();
    conn.close();
    View Code
  • 相关阅读:
    从 OKR 工作法到 OKRs-E,落地OKR不能错过的转变
    OKR : 不要让目标仅仅成为口号
    [MySQL]Software caused connection abort: recv failed 问题分析与解决
    VS2010 vcpkgsrv.exe进程CPU占用高的解决方法
    Lync Server 2013企业版部署系列之九:前端部署后续工作
    Lync Server 2013企业版部署系列之八:安装lync server系统
    Lync Server 2013企业版部署系列之七:使用拓扑生成器规划拓扑
    Lync Server 2013企业版部署系列之六:AD准备
    Lync Server 2013企业版部署系列之五:前端服务器软件准备
    Lync Server 2013企业版部署系列之四:SQL准备
  • 原文地址:https://www.cnblogs.com/sxjblogs/p/7267281.html
Copyright © 2020-2023  润新知