JDBC各个类详解-Connection

Connection:数据库连接对象

  功能:

    获取执行sql的对象

      Statement  createStatement()

      PreparedStatement prepareStatement(String sql)

    管理事务:

      开启事务:setAutoCommit(booelean autoCommit) :调用该方法设置参数为false,即开启事务

      提交事务:commit();

      回滚事务:rollback

JDBC各个类详解-Statement  

1.执行sql

  1.boolean execute(String sql):可以执行任意的sql了解

  2.int executeUpdate(String sql):执行DML(insert、update、delete)语句、DDL(create、alter、drop)语句

    返回值:影响的行数,可以通过这个影响的行数判断CML语句是否执行成功 返回值>0的则执行成功,反之,则失败。

    3. ResultSet executeQuery(String sql):执行DQL(select)语句

 

JDBC各个类详解-ResultSet-基本使用

ResultSet:结果集对象,封装查询结果

  next()游标向下移动一行

  getXxx(参数):获取数据

    Xxx:代表数据类型 如 : int getInt() , String getString();

    参数:

      int:代表列的编号,从1开始,如:getString(1)

      String:代表列名称,如:getDoublr(“balance”);

public static void main(String[] args) throws Exception {
        Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;
        try {
            //注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "root");
            //定义sql
            String sql = "select * from account";
            //获取执行sql的对象 Statement
            stat = conn.createStatement();
            //执行sql
            rs = stat.executeQuery(sql);
            //处理结果
            //让游标向上移动一行
            rs.next();
            //获取数据
            int id = rs.getInt(1);
            String name = rs.getString("name");
            double balance = rs.getDouble(3);

            System.out.println(id + "-" + name + "-" + balance);

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }

            if (stat != null) {
                try {
                    stat.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }

 

JDResultSetBC各个类详解-ResultSet-遍历结果集

Boolean next() : 游标向下移动一行,判断当前行是否是最后一行末尾(是否有数据),

如果是,则返回false,如果不是则返回true

注意:

  使用步骤:

    1.游标向下移动一行

    2.判断是否有数据

    3.获取数据

 public static void main(String[] args) throws Exception {
        Connection conn = null;
        Statement stat = null;
        ResultSet rs = null;
        try {
            //注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //获取Connection对象
            conn = DriverManager.getConnection("jdbc:mysql:///db3", "root", "root");
            //定义sql
            String sql = "select * from account";
            //获取执行sql的对象 Statement
            stat = conn.createStatement();
            //执行sql
            rs = stat.executeQuery(sql);
            //处理结果

            //循环判断游标是否是最后一行末尾
            while (rs.next()) {
                //获取数据
                int id = rs.getInt(1);
                String name = rs.getString("name");
                double balance = rs.getDouble(3);

                System.out.println(id + "-" + name + "-" + balance);
            }

        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        } finally {
            if (rs != null) {
                try {
                    rs.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }

            if (stat != null) {
                try {
                    stat.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
            if (conn != null) {
                try {
                    conn.close();
                } catch (SQLException throwables) {
                    throwables.printStackTrace();
                }
            }
        }
    }

 

原文地址:http://www.cnblogs.com/yuzong/p/16788569.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性