论文写的头疼,回顾一下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)、批处理 回顾的更多相关文章

  1. JDBC事务管理

    JDBC事务管理 概念回顾: 事务:一个包含多个步骤的业务操作,如果这个业务操作被事务管理,那么这个业务操作的多个步骤要么同时失败,要么同时成功 事务操作: 开启事务 提交事务 回滚事务 使用Conn ...

  2. JavaWeb基础—JDBC(二)事务与批处理

    一.批处理 这里给出PrepareStatement的示例,优点是可以发送预编译的SQL,缺点是SQL语句无法更换,但参数可以更换 批处理:多条语句的处理 mysql默认是关闭的,要打开需要在url后 ...

  3. JDBC中的事务-Transaction

    事务-Transaction 某些情况下我们希望对数据库的某一操作要么整体成功,要么整体失败,经典的例子就是支付宝提现.例如我们发起了支付宝到银行卡的100元提现申请,我们希望的结果是支付宝余额减少1 ...

  4. MySql中的事务、JDBC事务、事务隔离级别

    一.MySql事务 之前在Oracle中已经学习过事务了,这个东西就是这个东西,但是在MySql中用法还是有一点不同,正好再次回顾一下. 先看看MySql中的事务,默认情况下,每执行一条SQL语句,都 ...

  5. day18(JDBC事务&连接池介绍&DBUtils工具介绍&BaseServlet作用)

    day18总结 今日思维导图: 今日内容 事务 连接池 ThreadLocal BaseServlet自定义Servlet父类(只要求会用,不要求会写) DBUtils à commons-dbuti ...

  6. JTA和JDBC事务

    一般情况下,J2EE应用服务器支持JDBC事务.JTA事务.容器管理事务.这里讨论JTA和JDBC事务的区别.这2个是常用的DAO模式事务界定方式.JDBC 事务 JDBC 事务是用 Connecti ...

  7. Java的JDBC事务详解(转)

    事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事务在完 ...

  8. Java中的事务——JDBC事务和JTA事务

    Java中的事务——JDBC事务和JTA事务 转载:http://www.hollischuang.com/archives/1658 之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中 ...

  9. CSDN上看到的一篇有关Spring JDBC事务管理的文章(内容比较全) (转)

    JDBC事务管理 Spring提供编程式的事务管理(Programmatic transaction manage- ment)与声明式的事务管理(Declarative transaction ma ...

  10. JDBC事务和JTA事务的区别

    转自:JDBC和JTA事务的区别 一.事务概述事务表示一个由一系列的数据库操作组成的不可分割的逻辑单位,其中的操作要么全做要么全都不做.与事务相关的操作主要有:BEGIN TRANSACTION: 开 ...

随机推荐

  1. c++实现加密和解密算法以及JNI技术的应用实例

    #include "jiami.h" #include "jni.h" #include "com_test_start_CommonClassLoa ...

  2. _AR="ar" _ARFLAGS="-ruv"

    _AR="ar" _ARFLAGS="-ruv" 详情看GCC详解, 表3.14 Makefile中常见预定义变量 命 令 格 式 含义 AR 库文件维护程序的 ...

  3. Matlab的曲线拟合工具箱CFtool使用简介

    http://phylab.fudan.edu.cn/doku.php?id=howtos:matlab:mt1-5 一. 单一变量的曲线逼近Matlab有一个功能强大的曲线拟合工具箱 cftool ...

  4. 字符串模拟赛T1

    // source code from laekov for c0x17 #define PRID "bxjl" #include <cstdio> #include ...

  5. Entity Framework 关系约束配置

    前言 简单的说一下自己的理解,大家应该都很明白ADO.NET,也就是原生态的数据库操作,直接通过拼接SQL语句,表与表之间通过链接(inner join  left join  或者子查询),也就是在 ...

  6. 通过Spring @PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作

    关于在spring  容器初始化 bean 和销毁前所做的操作定义方式有三种: 第一种:通过@PostConstruct 和 @PreDestroy 方法 实现初始化和销毁bean之前进行的操作 第二 ...

  7. unity3d进行脚本资源打包加载

    原地址:http://www.cnblogs.com/hisiqi/p/3204752.html 本文记录如何通过unity3d进行脚本资源打包加载 1.创建TestDll.cs文件 public c ...

  8. iphone/ipad图标尺寸

    http://www.yixieshi.com/ucd/13759.html APP界面设计规范指导APP设计过程中的设计标准,根据统一的设计标准,使得整个APP在视觉上统一.提高用户对APP的产品认 ...

  9. KMP算法精髓

    这个算法的做法就是在部分匹配的时候,常规想法是向后移动一位,但是KMP想法是向后移动n位(n=m-L). 注释:这里m表示已经匹配了的字符的个数,L表示已经匹配了的那些字符组成的这个字符串的前缀和后缀 ...

  10. swift init继承问题

    当在子类的 designated init方法中不手动调用 父类的 designated init方法时,如果父类有不接受任何参数的init,那么系统会自动调用它,编译器不会报错.但是如果父类中没有不 ...