欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC接口介绍之Statement

程序员文章站 2022-07-12 16:09:35
...

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。

Statement:

1.介绍:对数据库数据一系列的操作依赖于SQL语句,而Statement接口是用来执行SQL语句的,Statement对象需要通过Connection类里面的createStatement()方法进行创建。如下图:

先创建一个连接数据库的类,以后就不用再写这片代码了,直接调用此类里面的方法即可:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

创建Statement对象:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

2.执行SQL语句的方法:

SQL语句大致可以分为DML(更新语句)和DQL(查询语句)两大类,Statement中分别有不同的方法操作这两类语句。

2.1 int executeUpdate(“SQL语句”):这个方法是用来执行更新语句的,如创建,修改,删除等,此方法的返回值为int类型,它反应的是影响的行数。使用案例如下图:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

可以在SQLyog工具中验证:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

注意:此代码只能运行一次,不能重复运行,否则会报错,因为运行一次后就有了mydb这个数据库,再运行一次就会再创建一个mydb数据库,发生重名。

2.2 ResultSet

executeQuary(“SQL语句”):此方法是用来执行查询语句的,它的返回值的类型是一个ResultSet接口,之所以不用数组或集合来做返回值的类型,而用ResultSet做返回值的类型是因为如果用数组或集合的话,那就意味着查询时要一次性将数据查询出来,如果查询的数据少还好,可是如果查询的数据极其庞大呢,这就不利于数据库的优化了。而ResultSet是一个接口,具体实现代码由数据库开发商决定,数据库开发商可自行决定到底是一条一条的查询还是一次性查询等,这就给数据库开发商留有余地,有利于程序的优化。使用案例如下图:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

具体如何输出查询的内容可参照ResultSet和ResultSetMetaData的笔记。

3.批SQL执行:

java中有一个批SQL执行的设计,也就是批量执行SQL语句,它设计的本意就是把我们在程序中写的SQL语句都先累积在一起,然后再一次性执行多条SQL语句,但实际上是一次性执行,还是一句一句的执行,还要看数据库开发商写的驱动类里面是怎样的,而我们也无需在意这些小细节,因为这不是我们关心的事情,我们只需要知道并会使用这个操作即可。

3.1 addBatch() 累加SQL语句

3.2 executeBatch()

批量执行SQL语句,其返回值的类型是数组类型,返回的是每条SQL语句影响的行数

3.3 clearBatch() 清除批SQL语句

3.4 代码实现(下面以插入为例):

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

SQLyog验证结果如下:

JDBC接口介绍之Statement
            
    
    博客分类: java jdbc 

4.提示:写SQL语句时,最好是现在SQLyog中写一遍看是否正确然后再复制到程序中去,因为如果在程序中是因为SQL语句写错了而报错,它是不会提示是什么错了,其报错的内容和在数据库中出错报错的内容一样。

相关标签: jdbc