jdbc、事务(Transaction)、批处理 回顾
论文写的头疼,回顾一下jdbc,换换脑子
传统的写法:
1.加载驱动类
class.forname("jdbc类的包结构");
2.获得连接
Connection conn=DriverManager.getConnection("url","username","userpwd");
3.获得描述
Ststement stmt =conn.createStstement();
4.执行动作
stmt.executeCreate("sql");
或
ResultSet rs=stmt.executeQuery("sql");
while(rs.next){
}
注意:传统写法安全性不是很好,有可能遭到sql恶意注入的问题
可以将描述替代为
PreparedStatement pstmt=conn.PreparedStatement("sql");
当然此时的sql语句要采用占位符的形式
insert into test(user,name,pwd) values(?,?,?)
同时,在执行动作时,就不必传入“sql”参数
当然在执行动作之前要设置参数
pstmt.setString(1,"");
pstmt.setString(2,"");
pstmt.setInt(3,"");
注意要遵循类型的方式
以上代码不代表具体执行代码,只具备伪代码的功能。
因为有些方法具体怎么拼写,我忘了
凡是涉及到操作数据库,免不了要说说事务(Transaction)了:
事务:保证与数据库操作的过程中,数据的一致性和完整性。
事务的属性:
ACID
即:
Atomic原子性:一堆又一堆的事务操作,要么全都成功,要么全都失败,不存在部分成功或失败的情况
开始事务
一堆事务操作
……
事务结束
Consistency一致性:事务操作前后,数据满足同样的规则
Isolation隔离性:事务内部的数据对外的可见性和可操作性。即不同事务边界内的数据是限制权限的
D稳定性、持久性:事务内部的数据都能够呗正确的持久化
jdbc默认是自动提交的,只要执行动作语句成功,哪怕下一句异常,数据仍然被提交!
jdbc手动设置事务的方法:
首先,关闭jdbc的自动提交功能
conn.setAutoCommit(false);
其次,在执行动作成功后,提交
conn.commit();
最后,如果有异常,事务回滚
conn.rollback();
关于批处理:
即存在多条sql的时候,可通过batch进行批处理
string sql1="……";
string sql2="……";
stmt.addBatch(sql1);
stmt.addBatch(sql2);
完整教程:http://download.csdn.net/detail/u012373717/8874243
jdbc、事务(Transaction)、批处理 回顾的更多相关文章
- JDBC事务管理
JDBC事务管理 概念回顾: 事务:一个包含多个步骤的业务操作,如果这个业务操作被事务管理,那么这个业务操作的多个步骤要么同时失败,要么同时成功 事务操作: 开启事务 提交事务 回滚事务 使用Conn ...
- JavaWeb基础—JDBC(二)事务与批处理
一.批处理 这里给出PrepareStatement的示例,优点是可以发送预编译的SQL,缺点是SQL语句无法更换,但参数可以更换 批处理:多条语句的处理 mysql默认是关闭的,要打开需要在url后 ...
- JDBC中的事务-Transaction
事务-Transaction 某些情况下我们希望对数据库的某一操作要么整体成功,要么整体失败,经典的例子就是支付宝提现.例如我们发起了支付宝到银行卡的100元提现申请,我们希望的结果是支付宝余额减少1 ...
- MySql中的事务、JDBC事务、事务隔离级别
一.MySql事务 之前在Oracle中已经学习过事务了,这个东西就是这个东西,但是在MySql中用法还是有一点不同,正好再次回顾一下. 先看看MySql中的事务,默认情况下,每执行一条SQL语句,都 ...
- day18(JDBC事务&连接池介绍&DBUtils工具介绍&BaseServlet作用)
day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbuti ...
- JTA和JDBC事务
一般情况下,J2EE应用服务器支持JDBC事务.JTA事务.容器管理事务.这里讨论JTA和JDBC事务的区别.这2个是常用的DAO模式事务界定方式.JDBC 事务 JDBC 事务是用 Connecti ...
- Java的JDBC事务详解(转)
事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事务在完 ...
- Java中的事务——JDBC事务和JTA事务
Java中的事务——JDBC事务和JTA事务 转载:http://www.hollischuang.com/archives/1658 之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中 ...
- CSDN上看到的一篇有关Spring JDBC事务管理的文章(内容比较全) (转)
JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction ma ...
- JDBC事务和JTA事务的区别
转自:JDBC和JTA事务的区别 一.事务概述事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做.与事务相关的操作主要有:BEGIN TRANSACTION: 开 ...
随机推荐
- Linux的一个暴力破解工具九头蛇hydra
首先还是书写本文的 参考档:http://www.cnblogs.com/mchina/archive/2013/01/01/2840815.html 工具介绍:原文为官方英文解释本人给翻译下 数量最 ...
- Jquery validate插件使用方法详解
html: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Reg.aspx.c ...
- [Effective JavaScript 笔记]第33条:使构造函数与new操作符无关
当使用函数作为一个构造函数时,程序依赖于调用者是否记得使用new操作符来调用该构造函数.注意:该函数假设接收者是一个全新的对象. 一个例子 function User(name,pwd){ this. ...
- gcc编译C++程序
gcc动态编译和静态编译方法 一.单个源.cpp文件生成可执行程序下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: /* helloworld.cpp */ #i ...
- hdu4255筛素数+广搜
Mr. B has recently discovered the grid named "spiral grid".Construct the grid like the fol ...
- emu1
第一题 一个很奇怪的贪心.先排序一遍,再扫描一遍,能加入尽量加入,不能加入就一定不能加入..由于每次都在可能的最早时间加入一个数可以保证差最小?反正差不多这样了. O(n log n) #includ ...
- mysql中limit与in不能同时使用的解决方式.
mysql中limit与in不能同时使用的解决方式. 分类: MySQL2011-10-31 13:53 1277人阅读 评论(0) 收藏 举报 mysqlsubquery MySQL5.1中子查询是 ...
- shell脚本调试之工具——bashdb
bash是Unix/Linux操作系统最常用的shell之一,它非常灵活,和awk.c++配合起来异常强大 以下使用一个测试脚本来说明使用bash调试的方法 test.sh #!/bin/bash e ...
- 每天一个linux命令day2【ss命令】
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...
- cobbler部署机器的默认密码
修改cobbler的默认密码: 用 openssl 生成一串密码后加入到 cobbler 的配置文件(/etc/cobbler/settings)里,替换 default_password_crypt ...