jdbc進階

jdbc   java數據庫連接(java database connection)

是一套標準的接口,由數據庫廠商實現具體的操作。

mysql: mysq-conn.jar

oracle: oracle-java-conn.jar

db2: db2-java-conn.jar

1.jdbc連接數據庫

    https://mp.csdn.net/console/editor/html/80732459

 //傳統jdbc連接  

    public Map getConnection(){  

        Connection connection=null;  

        String url="jdbc:mysql://127.0.0.1:3306/test";  

        String user="root";  

        String password="password";  

        Map map=new HashMap();  

        try {  

            //1.加載數據庫驅動  

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

            //2.創建 數據庫連接  

            connection = DriverManager.getConnection(url, user, password);  

            //3.創建發送對象

            String sql="SELECT * FROM table";  

            PreparedStatement preparedStatement = connection.prepareStatement(sql);

            //4.返回結果集  

            ResultSet resultSet = preparedStatement.getResultSet();  

            //獲取結果集中的數據  

            while (resultSet.next()){  

                System.out.println(resultSet.next());  

                map.put(resultSet.getFetchSize(),resultSet.next());  

            }  

  

        } catch (ClassNotFoundException e) {  

            e.printStackTrace();  

        } catch (SQLException e) {  

            e.printStackTrace();  

        }finally {  

            //5.關閉連接

            if (connection!=null){  

                try {  

                    connection.close();  

                } catch (SQLException e) {  

                    e.printStackTrace();  

                }  

            }  

        }  

  

        return map;  

    }  

  

2.註冊驅動

    

    第二種方式,是通過反射獲取到驅動類,加載到jdbc中的。

3.創建連接對象

    

4.獲取執行sql的對象

    

 

   

 

5.事務管理

6.statement執行sql的對象

7.preparestatement

    表示預編譯的sql語句對象

    這個對象的做法是首先編寫一個帶有佔位符?的sql語句,發往數據庫編譯,然後再將參數傳入,讓數據庫幫我們查詢。

    運行原理

    

    優點:

    

a.sql注入問題

    通過向sql語句中的參數位置傳遞一些特殊的字符,來改變SQL的原有意思。

    防止sql注入的根本:預編譯將參數中特殊的字符進行了轉移

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章