JDBC接口介绍之Statement
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC接口介绍之Statement相关的知识,希望对你有一定的参考价值。
声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。
Statement:
1.介绍:对数据库数据一系列的操作依赖于SQL语句,而Statement接口是用来执行SQL语句的,Statement对象需要通过Connection类里面的createStatement()方法进行创建。如下图:
先创建一个连接数据库的类,以后就不用再写这片代码了,直接调用此类里面的方法即可:
创建Statement对象:
2.执行SQL语句的方法:
SQL语句大致可以分为DML(更新语句)和DQL(查询语句)两大类,Statement中分别有不同的方法操作这两类语句。
2.1 int executeUpdate(“SQL语句”):这个方法是用来执行更新语句的,如创建,修改,删除等,此方法的返回值为int类型,它反应的是影响的行数。使用案例如下图:
可以在SQLyog工具中验证:
注意:此代码只能运行一次,不能重复运行,否则会报错,因为运行一次后就有了mydb这个数据库,再运行一次就会再创建一个mydb数据库,发生重名。
2.2 ResultSet
executeQuary(“SQL语句”):此方法是用来执行查询语句的,它的返回值的类型是一个ResultSet接口,之所以不用数组或集合来做返回值的类型,而用ResultSet做返回值的类型是因为如果用数组或集合的话,那就意味着查询时要一次性将数据查询出来,如果查询的数据少还好,可是如果查询的数据极其庞大呢,这就不利于数据库的优化了。而ResultSet是一个接口,具体实现代码由数据库开发商决定,数据库开发商可自行决定到底是一条一条的查询还是一次性查询等,这就给数据库开发商留有余地,有利于程序的优化。使用案例如下图:
具体如何输出查询的内容可参照ResultSet和ResultSetMetaData的笔记。
3.批SQL执行:
java中有一个批SQL执行的设计,也就是批量执行SQL语句,它设计的本意就是把我们在程序中写的SQL语句都先累积在一起,然后再一次性执行多条SQL语句,但实际上是一次性执行,还是一句一句的执行,还要看数据库开发商写的驱动类里面是怎样的,而我们也无需在意这些小细节,因为这不是我们关心的事情,我们只需要知道并会使用这个操作即可。
3.1 addBatch() 累加SQL语句
3.2 executeBatch()
批量执行SQL语句,其返回值的类型是数组类型,返回的是每条SQL语句影响的行数
3.3 clearBatch() 清除批SQL语句
3.4 代码实现(下面以插入为例):
SQLyog验证结果如下:
4.提示:写SQL语句时,最好是现在SQLyog中写一遍看是否正确然后再复制到程序中去,因为如果在程序中是因为SQL语句写错了而报错,它是不会提示是什么错了,其报错的内容和在数据库中出错报错的内容一样。
以上是关于JDBC接口介绍之Statement的主要内容,如果未能解决你的问题,请参考以下文章