zoukankan      html  css  js  c++  java
  • JDBC编程

    JDBC(java database connectivity)
    数据库编程步骤:
    1、根据应用程序所用的数据库,选择JDBC驱动程序类型
    class.forName("com.mysql.jdbc.Driver");
    2、连接到数据库,得到connection对象
    Connection con=null;
    con=DriverManager.getConnection("url","user","password");
    3、通过connection创建Statement对象
    Statement state=con.createStatement();
    String sql="";
    4、使用Statement对象提交sql语句
    int row = state.executeUpdate(sql);
    ResultSet rs=state.executeQuery(sql);
    5、操作结果集
    while(rs.next()){
    int stuID=rs.getInt("pk_stuid");
    }
    6、回收数据资源
    从小往大关,先关rs、然后state、然后con

    url:统一资源定位符——样式:协议://ip地址:端口号/服务

    SQL注入攻击
    为了防止SQL注入攻击,可以使用PreparedStatement预编译SQL语句。
    String sql="select * from t_user where f_username=? and f_pwd=?";
    PreparedStatement ps = con.PreparedStatement(sql);
    ps.setString(1,name);
    ps.setString(2,pwd);
    ResultSet rs=ps.executeQuery();
    作用:1、可以完全替代statement执行dql语句
    2、解决SQL注入问题
    3、因为在执行之前就把sql语句绑定了(交给数据库预先编译了),执行时不能再改变sql语句的结构。
    注意:1、?是用来替代语句中的数据值的位置,不能替代跟结构相关的任何对象
    2、使用?代替字符串值的时候,不能打引号
    3、不要滥用预编译,预编译语句过多,会影响数据库性能,当数据值是由外部文本输入的时候才用它。

    事务:
    复杂业务:由多条sql语句共同组成
    事务:
    整体性:同时完成、同时失败。
    原子性:业务的不可拆分性。
    Transcation:事务,sql里面保证多条sql语句的整体性和原子性的技术。
    主要控制的是DML语句,需要保证数据的完整性。
    事务的操作分为三步:
    1、开启事务
    2、事务整体提交
    3、事务整体回滚
    由一个connection对象完成,多条语句必须放到同一个连接中完成。
    con.setAutoCommit(false);开启事务——设置自动提交为假
    con.commit();整体提交
    con.rollback();整体回滚(放到catch块中)只要一条sql语句失败,就要整体回滚。

  • 相关阅读:
    Web 2.0网站命名的7个建议
    梦猪课堂视频系列
    计算机英文术语完全介绍
    PPT高手的思路
    在线RSS阅读器大比拼
    【百度现有服务】
    转载VFW编程实例(详)
    实现MFC扩展DLL中导出类和对话框 (转)
    Windows下编译 OpenSceneGraph(转)
    OSG静态编译 (转)
  • 原文地址:https://www.cnblogs.com/fengshaolingyun/p/6785072.html
Copyright © 2011-2022 走看看