文档章节

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

宇哥v587
 宇哥v587
发布于 2017/03/27 21:00
字数 512
阅读 2
收藏 0

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);
        }
    }
}

© 著作权归作者所有

宇哥v587
粉丝 1
博文 47
码字总数 20855
作品 0
南京
程序员
私信 提问
通过JDBC进行简单的增删改查(以MySQL为例)

前言:什么是JDBC 一、准备工作(一):MySQL安装配置和基础学习 二、准备工作(二):下载数据库对应的jar包并导入 三、JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4...

Airship
2015/07/13
406
0
java 私塾JDBC笔记整理

java 私塾JDBC笔记整理 一.JDBC是什么? Java DataBase Connection(类似于IO). 二.JDBC怎样实现传输? JDBC利用Driver来连接不同的数据库。如Oracle, SQL Server, MySql , DB2. Driver(驱动)...

luodis
2011/03/03
329
0
MySQL学习笔记 - 查询语句

常用SQL语句 一、数据定义语言DDL *CREATE DATABASE database_name *CREATE TABLE table_name ( columnname datatype [constraintcondition] [, column_name datatype [constraint_condition......

wqli
2012/08/29
26
0
读书笔记之《Java并发编程的艺术》-并发编程容器和框架(重要)

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
658
1
SpringData入门笔记(一) - 重温jdbc操作

学习Spring Data之前,我们先通过几种基础的、常见的方式访问数据库,然后再通过Spring Data的方式访问,可以分别其中的优劣,对它们有一个更好的了解。 目标 有一个学生表,属性有id/name/a...

dotleo
2017/11/05
15
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
今天
5
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
今天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
今天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
今天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部