1. 程式人生 > >資料庫的連線(一)——jdbc

資料庫的連線(一)——jdbc

資料庫的連線

常用的資料庫是Oracle和MySQL資料庫,連線方式在不同的框架中又有著不同,在這裡我就簡要闡述jdbc連線方式。

jdbc的連線主要可以分為六步:
1、載入驅動

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

2、連線資料庫(這裡我提供兩種引數配置方式):
(1)直接拼串

    String url ="jdbc:oracle:thin:@127.0.0.1:ORCL";         
    String user =“root”;
    String password = “root”;
    Connection con = DriverManager.getConnection(url,user,password);
***127.0.0.1是資料庫所在的主機IP,127.0.0.1是本機的。ORCL是資料庫例項名。***

(2)使用properties類

    Properties properties = new Properties();
    properties.put("user","使用者名稱");//前面的user是固定不變的
    properties.put("password","密碼");//password固定不變
    Connection con = DriverManager.getConnection(url,properties);

3、編寫SQL語句(這裡提供兩種方式)
(1)、字串拼串

    String sql ="select * from table_name where name="+name;
(2)、用PreparedStatement的setObject(n,"引數");賦值
        String sql = "select * from table_name where name =?";
        preparedStatement.setObject(1,"name");
    **注意這裡的n是?的位置從1開始,setObject(),不是固定的,也可以是setString(),這個取決於引數的型別**

4、執行SQL語句
執行sql語句一般有兩種,一種是使用Statement方式,另一種是PreparedStatement,兩種的區別主要是PreparedStatement可以防止注入,那什麼叫防注入呢,現在簡單的講就是防止客戶輸入惡意程式碼,破壞資料庫,這個我將會在另一篇中寫到,接下來,我將這兩種方式都寫一下

    (1)、Statement
        Statement statement = con.createStament();
        ResultSet resultSet = statement.execute(sql);//可能返回多個結果,得到結果集
    (2)、PreparedStatement
        PreparedStatement preparedStatement = con.createPreparedStatement(sql);
        //這裡填寫引數,呼叫preparedStatemen.setObject(),完成sql語句
        ResultSet resultSet = preparedStatement.execute();

5、處理結果集
resultSet.next()//判斷下一行是否有資料,一開始其中的遊標指向的是表的最上方,不是第一行資料
resultSet.getObject(),//得到資料
6、關閉流
我們前面定義的con、statement、preparedStatement、resultSet都要關閉,因此我們可以寫一個finally,呼叫各自的close()方法使得這些介面一定能夠被關閉!

以上就是一般的jdbc的連線資料庫的過程。在ssm框架中的配置,將寫在另一篇部落格中,謝謝!