🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步
🍅 欢迎点赞 👍 收藏 ⭐留言 📝
一、【粉丝福利】
送书啦,大家期待已久的Vue!
本次活动送书规则:
【送书啦】
1、社区积分榜前5名,随机抽取一名幸运者
2、社区积分榜6-15名,随机抽取一名幸运者
3、社区积分榜16-30名,随机抽取一名幸运者
【赚取积分方式】哪吒社区内发帖、点赞、评论都可赢取积分!
🍅 社区入口:[哪吒社区](()
[](()🍅 哪吒社区技能树打卡贴:[【打卡贴 day7】String、StringBuilder、StringBuffer详解](()
【抽取方式】Java随机函数;
【抽取时间】2021年11月2日 周二 21点整,抽取结果会在【哪吒微信一群、二群、三群】同时公布。
以下图书,四选一!
1、Vue.js全家桶零基础入门到进阶项目实战
2、亿级流量Java高并发与网络编程实战
3、Web前端性能优化
4、R语言数据高效处理指南
二、简介
它们都是接口:
-
Statement继承自Wrapper
-
PreparedStatement继承自Statement
-
CallableStatement继承自PreparedStatement
Statement:直接 *** 作sql,不进行预编译,不带参数;
PreparedStatement:进行预编译,可带参数;
CallableStatement:执行存储过程;
SQL的执行需要编译和解析。
Statement每次的执行都需要编译SQL。
PreparedStatement会预编译,会被缓冲,在缓存区中可以发现预编译的命令,虽然会被再次解析,但不会被再次编译,能够有效提高系统性能。
三、statement的四种形式
-
executeQuery
-
executeUpdate
-
ex 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ecute
-
Batch
用于产生单个结果集的语句,用于执行 SELECT 语句(SELECT无疑是是使用最多的 SQL 语句) ,返回值为ResultSet。
2、executeUpdate用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL(数据定义语言)语句,例如 CREATE TABLE 和 DROP TABLE。
executeUpdate 的返回值是一个整数,指示受影响的行数(即更新计数)。对于 CREATE TABLE 或 DROP TABLE 等不 *** 作行的语句,executeUpdate 的返回值总为零。
3、execute用于执行返回多个结果集、多个更新计数或二者组合的语句。execute对与结果的处理比较麻烦
execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组合时使用。
返回值指示类型情况:如果下一个结果为 ResultSet 对象,则返回 true;如果其为更新计数或者不存在更多结果,则返回 false。
Statement stmt = conn.createStatement();
if(stmt.execute(sql)){
ResultSet rs = stmt.getResultSet();
}else{
log.info(“受影响的行 {}”, stmt.getUpdateCount());
}
(1)ResultSet getResultSet()
以 ResultSet 对象的形式获取当前结果
(2)int getUpdateCount()
以更新计数的形式获取当前结果;如果结果为 ResultSet 对象或没有更多结果,则返回 -1
(3)boolean getMoreResults()
移动到此 Statement 对象的下一个结果,如果其为 ResultSet 对象,则返回 true,并隐式关闭利用方法 getResultSet 获取的所有当前 ResultSet 对象
(4)boolean getMoreResults(int current)
将此 Statement 对象移动到下一个结果,根据给定标志指定的指令处理所有当前 ResultSet 对象;如果下一个结果为 ResultSet 对象,则返回 true
(5)default long getLargeUpdateCount()
4、Batch(1)void addBatch(String sql)
将给定的 SQL 命令添加到此 Statement 对象的当前命令列表中
(2)void clearBatch()
清空此 Statement 对象的当前 SQL 命令列表
(3)int[] executeBatch()
将一批命令提交给数据库来执行,如果全部命令执行成功,则返回更新计数组成的数组
对于batch *** 作,简单说就是有一个列表,保存了执行命令。
add是添加方法,clear就是清空方法,execute就是执行列表内命令。
如下面示例,将1000个“张三”分十次插入数据库:
for(int i=0;i<1000;i++){
String sql = “insert into user(id,name,age) values (i,'张三”+i+“',18)”;
stmt.addBatch(sql);
if(i%100 == 0){
stmt.executeBatch();
stmt.clearBatch();
}
}
四、PreparedStatement常用方法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)