JDBC数据库
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数据库的更多相关文章
- activemq 5.13.2 jdbc 数据库持久化 异常 找不到驱动程序
		原文:https://my.oschina.net/u/2284972/blog/662033 摘要: activemq jdbc 数据库持久化 异常 找不到驱动程序 Caused by: java. ... 
- Spring——JDBC——数据库
		1.Spring 的数据访问哲学 数据访问的功能放到一个或者多个专注于此项任务的组件.这样的组件通常称为数据访问对象(data access object)DAO或者Repository. 为了避免应 ... 
- Java封装JDBC数据库增、删、改、查操作成JAR文件,以供Web工程调用,适用于多种数据库
		废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; ... 
- Java JDBC 数据库链接小结随笔
		Java JDBC 数据库链接小结随笔 一.链接数据库的步骤 二.关于Statement 和 PrepareStatement 两者区别 用法 三.关于 ResultSet 的一些小结 四.自定义 ... 
- JDBC数据库1
		数据库(Database)是按照数据结构来组织,存储,和管理数据的仓库.数据库有很多类型,从简单存储各种数据的的表格到能够储存大型数据的系统,在各方面得到了广泛的应用.数据库简介J.Martin给 数 ... 
- [总结] JDBC数据库操作
		1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ... 
- MySql连接JDBC数据库------借鉴的红客联盟的
		首先安装MySQL数据库,我安装的是MySQL5.5,具体安装步骤这里就不介绍了.需要提醒的是,如果安装进程一直停在start service那里,无法继续进行下去的话,请参照我的博文<安装My ... 
- java jdbc数据库操作
		package shb.java.demo3; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQ ... 
- web/jdbc数据库带实例名连接2008
		--------------------------数据库带实例名连接2008-------------------------------------<property name=" ... 
- Java学习笔记--JDBC数据库的使用
		参考 hu_shengyang的专栏 : http://blog.csdn.net/hu_shengyang/article/details/6290029 一. JDBC API中提供的常用数据库 ... 
随机推荐
- 【Spring学习】Spring的源码解析之路 ——【step1】基础环境配置 + IDEA快捷键整理
			前导: 本次主要是关于“基础环境搭建”的内容,分为三个部分,(1)查看源码和项目需要的开发集成环境Intellig IDEA的使用,(2)如何导入源码,(3)在这个过程中梳理出的快捷键 正文:==== ... 
- php下kafka实践
			Kafka是一种高吞吐的分布式发布订阅消息系统 kafka安装和简单测试 安装kafka 下载 wget https://www-us.apache.org/dist/kafka/2.1.1/kafk ... 
- linklist和arraylist区别
			ArrayList更适合读取数据,linkedList更多的时候添加或删除数据. 
- MySQL增删改查常用语句命令
			增删改查语句增删改查的语句命令为 增:insert删:delete改:update查:SELECT或者show 库操作创建数据库:create database shujukuba;创建带字符集的数据 ... 
- Java-Oracle数据库连接
			Oracle数据库先创建一个表和添加一些数据,下面是连接数据库的具体实现.(导入jar包:ojdbc14.jar) import java.sql.Connection; import java.sq ... 
- How to Read a Paper
			How to Read a Paper 原文: https://www.yuque.com/lart/papers/yrkv5u 题目:How to Read a Paper 作者:S. Keshav ... 
- 对js原型及构造函数的相关理解
			一.js中的原型创建(声明)一个函数,浏览器在内存中会创建一个对象.每个函数都默认会有一个属性prototype指向了这个对象,就是说prototype的属性的值就是这个对象.此对象就是该函数的原型对 ... 
- 使用Tenorshare iCareFone for mac为iPhone做系统修复
			tenorshare icarefonemac中文版采用一键式方法来保护,修理,清洁,优化并最终加快您的iPhone,iPad和iPod的速度.它可以帮助您轻松解决所有iOS问题,并让您的iPhone ... 
- java idea导入ecli项目
			转:https://blog.csdn.net/deng11408205/article/details/79723213 1.关闭所有项目:开启idea进入导入项目选项 2.选择.classpath ... 
- abp 设置默认语言为中文
			abp 设置默认语言为中文 abp的默认语言设置,存放于数据库表AbpSettings中,这样配置可使默认语言为中文: name: Abp.Localization.DefaultLanguageNa ... 
