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注入的根本:预编译将参数中特殊的字符进行了转移

 

 

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