jdbc进阶

jdbc操作数据库流程:
 第一步:加载数据库连接驱动;
 第二部:获取数据库连接对象
 第三步:创建发送对象
 第四步:执行sql返回结果集

 第五步:关闭结果集,关闭回话,关闭连接

 

jdbc   java数据库连接(java database connection)

是一套标准的接口,由数据库厂商实现具体的操作。

mysql: mysq-conn.jar

oracle: oracle-java-conn.jar

db2: db2-java-conn.jar

1.jdbc连接数据库

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值