Java连载131-Connection接口和Statement接口
Posted 心悦君兮君不知-睿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java连载131-Connection接口和Statement接口相关的知识,希望对你有一定的参考价值。
一、Connection接口
- 该接口代表Java程序和数据的连接,只有获取该连接对象,才能访问数据库来操作数据表
- 常用方法:
方法 | 说明 |
---|---|
creatStatement() | 创建并返回一个Statement实例,通常在执行无参数SQL语句时创建该实例 |
prepareStatement() | 创建并返回一个PreparesStatement实例,通常在执行包含参数的SQL语句中执行,并对SQL语句进行预编译处理 |
prepareCall() | 创建并返回一个CallStatement实例,通常在调用数据库存储过程中创建该实例 |
setAutoCommit() | 设置当前Connecion实例的自动提交模式。默认是true,也就是说会自动提交更改到数据库;如果设置为false,需要调用commit()或者rollback()将更改提交到数据库 |
getAutoCommit() | 查看当前Connection实例是否处于自动提交状态,是返回true,否返回false |
setSavePoint() | 在当前事务中创建并返回一个SavePoint实例,前提是Connection实例不能处于自动提交状态,否则就会抛出异常 |
releaseSavePoint() | 从当前事务中移除SavePoint实例 |
setReadOnly() | 设置当前事务的读取状态,默认是非只读状态。不能在事务中执行该操作,否则将会抛出异常,他有一个boolean类型的参数入口,默认是false,非只读,可以设置为true为只读 |
isReadOnly | 判读是否为只读状态 |
isClosed() | 查看当前Connection实例是否已经关闭 |
commit() | 从上一次或者回滚开始以来所有的变更都提交到数据库,并释放Connection实例当前拥有的所有数据库锁 |
rollback() | 取消当前事务中的所欲更改,并释放当前Connection实例拥有的所有数据库锁。该方法只能在非自动提交模式下使用,否则抛出异常,该方法有一个参数为SavePoint实例的重载方法,用来取消SavePoint实例之后的所有更改,并释放对应的数据库锁 |
close() | 立即释放Connection实例所占用数据库和JDBC资源,即关闭数据库连接 |
二、Statement接口
- java.sql.Statement接口用于执行静态的SQL语句并返回执行结果
- 常用方法:
方法 | 说明 |
---|---|
executeQuery(String sql) | 执行指定的静态SELECT语句,并返回一个永远不为null的ResultSet实例。 |
executeUpdate(String sql) | 执行静态的INSERT\\UPDATE\\DELETE语句,并返回一个int型同步更新记录的条数 |
clearBatch() | 清除位于Batch中的所有SQL语句,如果驱动程序不支持批处理,将会抛出异常 |
addBatch(String sql) | 将指定的SQL命令添加到Batch中,String型入口参数通常为INSERT或者UPDATE语句,如果驱动程序不支持批处理,将会抛出异常 |
executeBatch() | 执行Batch中的所有所有SQL语句,如果全部执行成功,则返回由更新计数组成的数组,数组元素的顺序与SQL语句的顺序相对应,数组元素有以下几种情况:(1)大于等于0,说明SQL语句执行成功,此数为影响数据库中行数的更新计数;(2)SUCCESS_NO_INFO的值,说明SQL语句执行,但未得到受影响行数;(3)EXECUTE_FAILED:说明SQL语句执行失败,仅当执行失败后继续执行后面的SQL语句时出现。 |
close() | 释放Statement占用的数据库和JDBC资源 |
三、源码:
- CSDN:https://blog.csdn.net/weixin_44630050
- 博客园:https://www.cnblogs.com/ruigege0000/
- 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包
以上是关于Java连载131-Connection接口和Statement接口的主要内容,如果未能解决你的问题,请参考以下文章