java-JDBC-(29)

1、JDBC:就是一套API,由sun公司定义类或者定义的接口。(全称 java database connectivity:Java访问数据库的标准规范),Java提供访问数据库规范称为JDBC,而生产厂商提供规范的实现类称为驱动。

2、预处理对象executeUpdate方法,作用:完成记录的insert\update\delete语句的执行。操作格式统一如下:

         1. 注册驱动

         2. 获取连接

         3. 获取预处理对象

         4. SQL语句占位符设置实际参数

         5. 执行SQL语句

         6. 释放资源


3、插入记录:insert     // 实现向分类表中插入指定的新分类

public void demo01() throws Exception {
        // 1注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", 
"root");

        // 3获得预处理对象

        String sql = "insert into sort(sname) values(?)";

        PreparedStatement stat = conn.prepareStatement(sql);  // 解决SQL注入攻击问题

        // 4 SQL语句占位符设置实际参数

        stat.setString(1, "奢侈品");

        // 5执行SQL语句

        int line = stat.executeUpdate(); //执行更新

        System.out.println("新添加记录数:" + line);

        // 6释放资源

        stat.close();

        conn.close();

    }

4、更新记录:update    // 实现更新分类表中指定分类ID所对应记录的分类名称

public void demo02() throws Exception {
        // 1注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
        // 3获得预处理对象中
        String sql = "update sort set sname=? where sid=?";
        PreparedStatement stat = conn.prepareStatement(sql);
        // 4 SQL语句占位符设置实际参数
        stat.setString(1, "数码产品");
        stat.setInt(2, 1);
// 5执行SQL语句
        int line = stat.executeUpdate();
        System.out.println("更新记录数:" + line);
        // 6释放资源
        stat.close();
        conn.close();
    }

 5、删除记录:delete    //  实现删除分类表中指定分类ID的记录

    public void demo03() throws Exception {
        // 1注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
        // 3获得预处理对象
        String sql = "delete from sort where sid=?";
        PreparedStatement stat = conn.prepareStatement(sql);
        // 4 SQL语句占位符设置实际参数  <不懂>
        stat.setInt(1, 1);
     // 5执行SQL语句
        int line = stat.executeUpdate();
        System.out.println("删除记录数:" + line);
        // 6释放资源
        stat.close();
        conn.close();
    }

6、预处理对象executeQuery方法  ,作用:完成记录的select语句的执行。操作格式统一如下:

         1. 注册驱动

         2. 获取连接

         3. 获取预处理对象

         4. SQL语句占位符设置实际参数

         5. 执行SQL语句

         6. 释放资源


7、 查询记录:select   //  实现查询分类表所有记录

public void demo04() throws Exception {
        // 1注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root", "root");
        // 3获得预处理对象
        String sql = "select * from sort";
        PreparedStatement stat = conn.prepareStatement(sql);
        // 4 SQL语句占位符设置实际参数
      // 5执行SQL语句
        ResultSet rs = stat.executeQuery();
        // 6处理结果集(遍历结果集合)
        while( rs.next() ){
            //获取当前行的分类ID
            String sid = rs.getString("sid");//方法参数为数据库表中的列名
            //获取当前行的分类名称
            String sname = rs.getString("sname");
            //显示数据
            System.out.println(sid+"-----"+sname);
        }
        // 7释放资源
        rs.close();
        stat.close();
        conn.close();
    }

8、查询记录:实现查询分类表中指定分类名称的记录

public void demo05() throws Exception {
        // 1注册驱动
        Class.forName("com.mysql.jdbc.Driver");
        // 2获取连接
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "root",
"root");
        // 3获得预处理对象
        String sql = "select * from sort where sname=?";
        PreparedStatement stat = conn.prepareStatement(sql);
        // 4 SQL语句占位符设置实际参数
        stat.setString(1, "奢侈品");
     // 5执行SQL语句
        ResultSet rs = stat.executeQuery();
        // 6处理结果集(遍历结果集合)
        while( rs.next() ){
            //获取当前行的分类ID
            String sid = rs.getString("sid");//方法参数为数据库表中的列名
            //获取当前行的分类名称
            String sname = rs.getString("sname");
            //显示数据
            System.out.println(sid+"-----"+sname);
        }
        // 7释放资源
        rs.close();
        stat.close();
        conn.close();
    }

猜你喜欢

转载自www.cnblogs.com/ivan5277/p/10074480.html