zoukankan      html  css  js  c++  java
  • JDBC

    JDBC:Java访问控制数据库里面数据的一套标准(面向接口编程)

    一、JDBC连接

    1、注册驱动:

      当执行了当前代码之后会返回一个class对象,在此对象创建过程中,会调用具体类的静态代码块

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

    2、建立连接:

      第一部中已经将driver对象注册到DriverManager中,所以此时可以直接通过DriverManager来获取数据库的连接

      Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl","scott","tiger");

    3、测试连接是否成功

      System.out.println(conn);

    4、定义sql语句

      select * form emp;

    5、准备静态处理块对象,将sql语句放置到静态处理块中,理解为sql语句放置的对象

      在执行sql语句时,需要一个对象来存放sql语句,对象进行执行的时候调用的是数据库的服务,数据库会从当前对象中拿到对应的sql语句进行执行

      Statement statement = conn.createStatement();

    6、执行sql语句,返回对象是结果集合

      将结果放到resultSet中,是返回结果的一个集合

      statement在执行的时候可以选择三种方式:1、execute(任何sql语句都可以执行)

                           2、executeQuery(只执行查询语句)

                           3、executeUpdate(只能执行DML语句)

      ResultSet rs = statement.executeQuery(sql);

    7、循环迭代

      使用while循环有两种方式:1、通过下标索引编号来获取,从1开始

                    2、通过列名来获取(推荐)列名一般不会发生修改

      while(rs.nest()){

        rs.getInt(1);

      }

    8、关闭连接

      statement.close();

      conn.close();

    注意:在使用createStatement时有可能会出现sql注入的情况

       为了防止sql注入:String sql = "select * from emp where ename = ?";

                ps = conn.prepareStatement(sql);

                ps.setString(1,name);

    new java.sql.Date(new SimpleDataFormat("yyyy-MM-DD").parse(xxx.yyy).getTime()));

    二、JDBC批处理

    1、注册驱动

    2、建立连接

    3、String sql = "insert into emp(empno,empname) values(?,?)";

    4、PreparedStatement ps = conn.prepareStatement(sql);

    5、for(int i = 0;i <10;i++){

        ps.setInt(1,i);

        ps.setString(2,"xxx"+i);

        //向批处理中添加sql语句

        ps.addBatch();

      }

    6、int[] ints = ps.executeBatch();

  • 相关阅读:
    进行代码复审训练
    源代码管理工具调查
    软工作业PSP与单元测试训练
    P18 第四题
    开学第一课
    进行代码复审训练
    源代码管理工具调查
    软工 任务2
    软工课后作业01 P18第四题
    课堂作业1--自我介绍
  • 原文地址:https://www.cnblogs.com/lyc-code/p/13513258.html
Copyright © 2011-2022 走看看