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. Servlet的三大作用域

    Servlet的三大作用域 一.request  请求对象 共享的数据:请求共享 特点:同一次请求中,共享数据可以获取(请求一旦结束,请求共享清除站)(请求转发能共享参数,重定向不行) 代码:req. ...

  2. mysql批量update更新,mybatis中批量更新操作

    在日常开发中,有时候会遇到批量更新操作,这时候最普通的写法就是循环遍历,然后一条一条地进行update操作.但是不管是在服务端进行遍历,还是在sql代码中进行遍历,都很耗费资源,而且性能比较差,容易造 ...

  3. python--第十八天总结(Django进阶)

    一.路由系统 1.每个路由规则对应一个view中的函数 1 2 3 url(r'^index/(\d*)', views.index), url(r'^manage/(?P<name>\w ...

  4. 微信小程序如何接入?

    1.线下扫码:小程序最基础的获取方式,是二维码.大家可以打开扫一扫,通过微信扫描线下二维码的方式进入小程序.这也是官方宣传中,最普遍的实用场景. 如何生成小程序导入码? 2.微信搜索 3.公众号关联 ...

  5. session的简单应用

    session的作用:服务器端保存信息. 用户登陆后,服务器端保存了 自定义的key:value 如下: if username == 'xxx' and password == 'xxxx': re ...

  6. 在windows下使用jenkins部署docker容器

    在windows下使用jenkins部署docker容器最近在学习jenkins,docker部署来实现集成部署,所以想在windows下面实现测试,但是发现在windows下docker支持不是很好 ...

  7. odoo 配置文件

    [options] ; addons模块的查找路径 addons_path = E:\GreenOdoo8.0\source\openerp\addons ; 管理员主控密码(用于创建.还原和备份数据 ...

  8. Checked Uncheckd异常

    Checked : 你可以在写代码的时候就throw 或者try catch 的 Unchecked :  Error   + RuntimeException .提前无法预测的 http://www ...

  9. Image 图片

    随机矩阵画图 这一节我们讲解怎样在matplotlib中打印出图像.这里打印出的是纯粹的数字,而非自然图像.下面用 3x3 的 2D-array 来表示点的颜色,每一个点就是一个pixel. impo ...

  10. centos中病毒

    嗯 很开中了病毒,,,而且这是第二次了.... 然后大佬说让我  crontab -l  一下 然后试了下 然后出来这个东东 执行下  crontab -r  这个  然后就crontab -l  就 ...