JDBC学习笔记一 ResultSet 与 基础更新操作

public class CopyOfJDBCTest {
    /**
     * ResultSet: 该对象以逻辑表格的形式封装了执行数据库操作的结果集(该接口由数据库厂商提供实现)

     * 1、得到结果集:调用 Statement 对象的 executeQuery(sql)
     * 2、ResultSet 对象维护了一个指向当前数据行的游标,初始时指针指向数据表的第一行的前面。
     *    next()方法: 检测下一行是否有效,若有效该方法返回true, 且指针下移到下一行,
     *         相当于 Iterator 对象的 hasNext() 和 next() 方法的结合体
     * 3、获取指针对应行的每一列的值,可以通过调用 getXxx(index) 或  getXxx(columnName)
     *         例如:getInt(1), getString("name")
     * 4、数组:new Object[]{2,ABCD,qq@bdqn.com,2017-03-17}
     *           customer:一条记录对应一个对象
     * 5、关闭结果集 ResulSet
     */
    @Test
    public void testResultSet(){
        
        Connection conn=null;
        Statement statement=null;
        ResultSet resultset=null;
        String sql="SELECT id,name,email,birth FROM customers";
        try {
            //1、执行查询,得到ResultSet
            conn=JDBCTools.getConnection();
            statement=conn.createStatement();
            resultset=statement.executeQuery(sql);
            //2、处理ResultSet
            while (resultset.next()) {
                int id=resultset.getInt(1);
                String name=resultset.getString("name");
                String email=resultset.getString(3);
                Date birth=resultset.getDate(4);
                System.out.println("id:"+id+",name:"+name+",email+:"+email+",birth:"+birth);
            }
        } catch (Exception e) {
            e.printStackTrace(); 
        }finally{
        // 关闭数据库资源
            JDBCTools.release(resultset, statement, conn);
            }
    }
    /**
     * 通用的更新方法:包括INSERT、UPDATE、DELETE
     * sql:
  * 1):"INSERT INTO customers (NAME,EMAIL,birth) VALUES('ABCD','qq@bdqn.com','2017-03-17')";
     * 2):"UPDATE customers SET name='TOM' WHERE id=3"
     * 3):"DELETE FROM customers WHERE id=1";
     */
    /**
     * 1、Satement:用于执行SQL语句对象
     * 1)、调用Connection的createStatement()方法来获取
     * 2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
     * 3)、传入的SQL可以是INSRET、UPDATE或DELETE. 但不能是SELECT
     *
     * 2、Connection、Statement都是应用程序和数据库服务器的连接资源。使用后一定要关闭*/
    public void update(String sql) throws ClassNotFoundException, IOException{
        Connection conn=null;
        Statement statement=null;
        try{
        //1、获取数据库连接
        conn=JDBCTools.getConnection();
        //2、执行插入
        //1)、获取操作SQL语句的Statment对象:
        statement=conn.createStatement();
        //2)、调用Statement对象的executeUpdate(sql)执行SQL语句进行插入
        statement.executeUpdate(sql);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally{
            //2、关闭数据库连接
            JDBCTools.release(null,statement, conn);
        }
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值