JDBC 你应该知道的事

JDBC你应该知道的事?

/*

 * 文 件 名:  DbUtils.java

 * 版    权:  Co., Ltd. Copyright YYYY-YYYY,  All rights reserved

 * 描    述:  <描述>

 * 修 改 人:   * 修改时间:  Apr 19, 2013

 * 跟踪单号:  <跟踪单号>

 * 修改单号:  <修改单号>

 * 修改内容:  <修改内容>

 */

package com.huawei.jdbc;



import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;



/**

 * <一句话功能简述>

 * <功能详细描述>

 * 

 * @author   * @version  [版本号, Apr 19, 2013]

 * @see  [相关类/方法]

 * @since  [产品/模块版本]

 */

public class DbUtils

{

    private static DbUtils dbUtils = new DbUtils();

    

    private DbUtils()

    {

        

    }

    

    public static DbUtils getInstance()

    {

        return dbUtils;

    }

    

    public void queryExcute()

    {

        

        Connection conn = null;

        Statement stm = null;

        ResultSet result = null;

        try

        {

            Class.forName("oracle.jdbc.driver.OracleDriver");

        }

        catch (ClassNotFoundException e)

        {

            e.printStackTrace();

        }

        try

        {

            conn = DriverManager.getConnection("jdbc:oracle:thin:@10.137.107.160:1521:iptvmem",

                    "userdb30",

                    "I_Vcbs33");

            

            stm = conn.createStatement();

            

            String sql = "select * from ocs_tasktodo2 o where o.subscriberno ='"

                    + "826670842" + "'";

            

            result = stm.executeQuery(sql);

            

            if (null != result)

            {

                while (result.next())

                {

                    System.out.println(result.getString("subscriberno"));

                }

            }

            

        }

        catch (SQLException e)

        {

            e.printStackTrace();

        }

        finally

        {

            try

            {

                result.close();

                stm.close();

                conn.close();

            }

            catch (SQLException e)

            {

                e.printStackTrace();

            }

        }

        

    }

}


哈哈,我知道的就这么多,懂一点补充一点

        try

        {

            Class.forName("oracle.jdbc.driver.OracleDriver");

        }

        catch (ClassNotFoundException e)

        {

            e.printStackTrace();

        }

这一行没有任何的设值,孤独的立在代码中,有点奇怪,于是我删掉了这一行。再跑一边,哈哈报错了

java.sql.SQLException: No suitable driver

	at java.sql.DriverManager.getConnection(DriverManager.java:545)

	at java.sql.DriverManager.getConnection(DriverManager.java:171)

	at com.huawei.jdbc.DbUtils.queryExcute(DbUtils.java:59)

	at com.huawei.jdbc.DbUtils.main(DbUtils.java:40)

Exception in thread "main" java.lang.NullPointerException

	at com.huawei.jdbc.DbUtils.queryExcute(DbUtils.java:87)

	at com.huawei.jdbc.DbUtils.main(DbUtils.java:40)

猜测这个是给jvm申明一个Oracle驱动的实例。

 

再接着

conn = DriverManager.getConnection("jdbc:oracle:thin:@10.137.107.160:1521:iptvmem",

                    "userdb30",

                    "I_Vcbs33");

使用DriverManager建立了一个连接,可以看下其中的方法

    public static synchronized Connection getConnection(String url, 

	String user, String password) throws SQLException {

        java.util.Properties info = new java.util.Properties();



        // Gets the classloader of the code that called this method, may 

	// be null.

	ClassLoader callerCL = DriverManager.getCallerClassLoader();



	if (user != null) {

	    info.put("user", user);

	}

	if (password != null) {

	    info.put("password", password);

	}



        return (getConnection(url, info, callerCL));

    }



再接下来就是:

            stm = conn.createStatement();

            

            String sql = "select * from ocs_tasktodo2 o where o.subscriberno ='"

                    + "826670842" + "'";

            

            result = stm.executeQuery(sql);

            

            if (null != result)

            {

                while (result.next())

                {

                    System.out.println(result.getString("subscriberno"));

                }

            }

 

请大神解释一下,从上至下的流程!

 

 

你可能感兴趣的:(jdbc)