JDBC——Connection数据库连接对象
功能
1.获取执行SQL的对象
方法:createStatement() 用于创建向数据库发送SQL语句的一个对象。
修饰/返回值类型:Statement(声明)
方法:prepareStatement(String sql) 用于创建向数据库发送SQL语句的一个对象。
修饰/返回值类型:PreparedStatement (准备好的 声明)
2.管理事物
事物:一个或一组SQL语句组成一个执行单元,要么全部执行,要么全不执行
开启事物
方法:setAutoCommit(boolean autoCommit) 调用该方法设置参数为false即开启事物(autoCommit自动提交)false错true对
修饰/返回值类型:void (空的)
提交事物
方法:commit()
修饰/返回值类型:
回滚事物
方法:rollback()
修饰/返回值类型:

package cn.itcast.jdbc; import cn.itcast.util.JDBCUtils; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; /**
* 事物操作 转账方法
*/
public class JdbcDemo12 {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement pstmt1 = null;
PreparedStatement pstmt2 = null;
try {
//1.获取去数据库连接
conn = JDBCUtils.getConnection();
//开启事物
conn.setAutoCommit(false);
//2.定义SQL
//2.1A的lowest_sal-500
String sql1 = " update job_grades set lowest_sal = lowest_sal-? where grade_level =?;";
//2.2B的lowest_sal+500
String sql2 = " update job_grades set lowest_sal = lowest_sal+? where grade_level =?;";
//3.获取执行SQL的对象
pstmt1 = conn.prepareStatement(sql1);
pstmt2 = conn.prepareStatement(sql2);
//4.设置参数
pstmt1.setDouble(1, 500);
pstmt1.setString(2, "A"); pstmt2.setDouble(1, 500);
pstmt2.setString(2, "B"); //5.执行SQL语句
pstmt1.executeUpdate();
//手动制造异常
int i = 3 / 0;
pstmt2.executeUpdate(); //提交事物
conn.commit(); } catch (Exception e) {//只要出异常就回滚所以要用一个大的把异常都抓到
//出异常就会进入catch内,所以在这里进行回滚
try {
if (conn != null) {
conn.rollback();
}
} catch (SQLException e1) {
e1.printStackTrace();
}
e.printStackTrace();
} finally {
JDBCUtils.close(pstmt1, conn);
JDBCUtils.close(pstmt2, null);
}
}
}
JDBC——Connection数据库连接对象的更多相关文章
- JDBC:数据库连接技术
JDBC :带它再爱你一次 (一) JDBC 入门 (1) 概述 Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问 ...
- 获取数据库连接对象Connection
2018-11-04 19:50:52 开始写 public Connection getConn() {//返回类型为Connection try { Class.forName("co ...
- jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化
上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...
- Jmeter组件7. JDBC Connection Configuration & JDBC Request
Jmeter同样可以测试数据库的性能,通过执行增删改查的语句,以下举的是oracle的例子 Step 1: 下载ojdbc14.jar包放到Jmeter lib包中,在test plan中配置,并且重 ...
- Weblogic常见故障常:JDBC Connection Pools(转)
WebLogic Server中数据库连接池是一个经常出问题的地方,总结一下出问题的原因和解决办法. 一.数据库连接泄漏 此类问题一般都是由于开发人员没有正确关闭数据库连接造成的.比如使用完Conne ...
- Weblogic常见故障一:JDBC Connection Pools
最近系统老是出现数据库连接池不够用的问题,由于weblogic数据源里没有配置JDBC连接数,取的是默认值15,太小导致connection耗尽,是不是就报一堆错.后来通过修改WebLogic数据源配 ...
- Java -- JDBC 学习--数据库连接池
JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开 ...
- Weblogic常见故障常:JDBC Connection Pools【转】
WebLogic Server中数据库连接池是一个经常出问题的地方,总结一下出问题的原因和解决办法. 一.数据库连接泄漏 此类问题一般都是由于开发人员没有正确关闭数据库连接造成的.比如使用完Conne ...
- Java Web(九) JDBC及数据库连接池及DBCP,c3p0,dbutils的使用
DBCP.C3P0.DBUtils的jar包和配置文件(百度云盘):点我下载 JDBC JDBC(Java 数据库连接,Java Database Connectify)是标准的Java访问数据库的A ...
随机推荐
- 浅谈mysql触发器
什么是触发器?简单的说,就是一张表发生了某件事(插入.删除.更新操作),然后自动触发了预先编写好的若干条SQL语句的执行.触发器本质也是存储过程,只是不需要手动调用,触发某事件时自动调用.触发器里的S ...
- JS DOM创建节点
DOM节点操作之增删改查 document.write() 可以向文档中添加节点 但是有个致命问题,会把文档原有的节点全部清空 因此不推荐使用 <!DOCTYPE html> <ht ...
- css基础-css选择器和css文本样式相关
css基础-css选择器和css文本样式相关: 使用link链入外部样式,页面加载时会同时加载样式 @import url(“*.css”);使用导入式,页面加载完后,才会加载样式 链接伪类的顺序 : ...
- JAVA输出流与输入流
输出流 编程入门的第一个程序,输出一串字符串 public class C { public static void main(String[] args) { System.out.println( ...
- 小白的java学习之路 “ 二重循环”
二重循环: 1.什么是二重循环: 一个循环体内又包含另一个完整的循环结构 语法: while(循环条件1) { //循环操作1 while(循环条件2) { //循环操作2 } } do { //循环 ...
- 【内推】2020微软苏州Office365众多核心团队热招150+研发精英!欢迎推荐
2020微软苏州Office365众多核心团队热招150+研发精英!欢迎推荐 大家好,目前微软Office365核心团队在美丽宜居的苏州有150多的社招职位虚位以待,欢迎大家自荐,推荐,转发!除以下列 ...
- webpack4从安装到使用入过的那些坑
1.全局安装 安装 webpack 前要确保已经下载 node.js 最新版本(node.js官网地址) 目前使用命令行安装的 webpack 默认为最新版本(以下我使用了全局安装.官网建议本地安装, ...
- C# VS2017 WinForm 打包和升级
C# WinFrom打包不怎么常用,但一年总有那么一两次,每次都记不全,为了方便自己回看,于是有了本篇文章. 本例使用<C#工具类LogHelper>的解决方案作为例子,实现WinForm ...
- exsi 6.7u2 不能向winows虚拟机发送ctrl+alt+del
1. 遇到过可以安装它的浏览器插件启动控制台登录就可以了. 2. 下载官方的客户机远程工具“VMware vSphere Client”才行. 3. 直接选择alt+del+insert 键盘即可代替 ...
- linux安装docker和docker compose
运行 sudo -s 切换到root用户. 1.卸载旧版本Docker(如果系统之前没安装过Docker,可以跳过): yum remove docker \ docker-client \ dock ...