JDBC是Java程序连接和存取数据库的应用程序接口(API),包括两个包:java.sql和javax.sql。

用JDBC访问数据库的一般步骤

1.建立数据源

2.装入JDBC驱动程序:使用Class.forName()显示加载驱动程序

3.建立连接

4.执行SQL语句

5.检索结果和关闭连接

例如连接MySQL的步骤:

Class.forName("com.mysql.jdbc.Driver");

String url = "jdbc:mysql://localhost:3306/db";

Connection con = DriverManager.getConnection(url, user, password);

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CUNCUR_UPDATABLE);

其中.TYPE_SCROLL_SENSITIVE是ResultSet类的静态常量,表示可滚动并且受其他更改影响。CUNCUR_UPDATABLE表示可以更新的ResultSet对象的并发模型。

数据库的事务处理

事务是指一系列的数据库操作,要么全做,要么全不做,是一个基本逻辑单元。事务有ACID四个属性,分别是原子性、一致性、隔离性、持久性。

多个用户并发的存取数据库时就可能产生多个事务同时存取同一事务的情况。可能出现不正确的数据,破坏数据库的一致性。典型的3类数据出错:

脏读:一个事务修改了某一行数据而未提交时,另一事务读取了该行数据。假如前一事务发送了回退,则后一事务将得到一个无效的值。

不可重复读:一个事务读取某一行数据行时,另一事务同时在修改此数据行。则前一事务在重复读取此行时将得到一个不一致的数据。

幻读:一事务查询某表时,另一事务恰好插入满足查询条件的数据行。则前一事务在重复读取满足条件的值时,将得到一个或多个额外的“影子”值。

JDBC支持5个隔离级别来设置事务。

使用保存点来控制回滚的位置。

关于保存点的方法主要有3个:

setSavepoint("名称“),releaseSavepoint("名称"),rollback("名称”)

数据库的优化技术

1.编译预处理:使用PreparedStatement类

2.调用存储过程:使用SQL建立的存储过程,定义CallableStatement对象

3.采用连接池

JDBC数据库的更多相关文章

  1. activemq 5.13.2 jdbc 数据库持久化 异常 找不到驱动程序

    原文:https://my.oschina.net/u/2284972/blog/662033 摘要: activemq jdbc 数据库持久化 异常 找不到驱动程序 Caused by: java. ...

  2. Spring——JDBC——数据库

    1.Spring 的数据访问哲学 数据访问的功能放到一个或者多个专注于此项任务的组件.这样的组件通常称为数据访问对象(data access object)DAO或者Repository. 为了避免应 ...

  3. Java封装JDBC数据库增、删、改、查操作成JAR文件,以供Web工程调用,适用于多种数据库

    废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; ...

  4. Java JDBC 数据库链接小结随笔

    Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement  和  PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ...

  5. JDBC数据库1

    数据库(Database)是按照数据结构来组织,存储,和管理数据的仓库.数据库有很多类型,从简单存储各种数据的的表格到能够储存大型数据的系统,在各方面得到了广泛的应用.数据库简介J.Martin给 数 ...

  6. [总结] JDBC数据库操作

    1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...

  7. MySql连接JDBC数据库------借鉴的红客联盟的

    首先安装MySQL数据库,我安装的是MySQL5.5,具体安装步骤这里就不介绍了.需要提醒的是,如果安装进程一直停在start service那里,无法继续进行下去的话,请参照我的博文<安装My ...

  8. java jdbc数据库操作

    package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ...

  9. web/jdbc数据库带实例名连接2008

    --------------------------数据库带实例名连接2008-------------------------------------<property name=" ...

  10. Java学习笔记--JDBC数据库的使用

    参考  hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库 ...

随机推荐

  1. 使用pycharm 出现 interpreter field is empty 完美解决方法(转载 记录)

    使用pycharm 出现 interpreter field is empty 主要是因为你的电脑没有正确安装python或者安装python出错,重新下载安装覆盖就行 下载安装包:从Python的官 ...

  2. “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...

  3. WCF基础_使用svcutil.exe 工具来生成调用文件

    右键单击一个服务在浏览器中打开时,通常会有这么一段话: ServiceDemo 服务 已创建服务. 若要测试此服务,需要创建一个客户端,并将其用于调用该服务.可以使用下列语法,从命令行中使用 svcu ...

  4. JDK环境安装步骤

    1.下载JDK https://www.oracle.com/technetwork/java/javase/downloads/index.html 下图圈中位置为最新JDK 点击进入下载页面,将页 ...

  5. 第七周博客作业 <西北师范大学| 周安伟>

    第七周博客作业 助教博客链接:https://home.cnblogs.com/u/zaw-315/ 本周无评作业 查看了同学们提交的对实验四的附加实验项目互评.其中对博文结构,内容来评价是否符合作业 ...

  6. Beautiful Numbers(牛客网)

    链接:https://ac.nowcoder.com/acm/problem/17385来源:牛客网 题目描述 NIBGNAUK is an odd boy and his taste is stra ...

  7. linux环境下安装jmeter,启动执行脚本

    1.下载安装jmeter安装包 下载链接: https://pan.baidu.com/s/1KPhwNDsmTIAy41fEopHQEw 提取码: spwd 2.上传linux平台,解压jmeter ...

  8. NoteBook学习(二)-------- Zeppelin简介与安装

    Zeppelin官网地址: http://zeppelin.apache.org/ Github地址: https://github.com/apache/zeppelin (参照官网) 1.什么是z ...

  9. 微信x5内核很鸡贼啊

    最近在写一个支付项目,然后要打通微信和支付宝支付,本来后端联调的时候直接调用weixin://wxpay/bizpayurl?XXXX接口就行的,完全走着通,然后到项目验收了就炸了,点不进去了,最后改 ...

  10. MySql 游标定义时使用临时表

    参考:Re: Temp Table in Select of a Cursor 方法一: delimiter $$ create procedure test_temp() begin drop te ...