JDBC数据库连接(MySQL为例)
1、什么是JDBC?有什么作用?
Java Data Base Connectivity Java数据库连接协议
是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问。
他提供了一种基准,据此可以构建更高级的工具和接口,使开发人员能够编写数据库应用程序

有了JDBC, 向各种关系数据发送sql语句就变得很容易了
换句话说就是有了JDBC API就不用为了访问Oracle数据库专门写一个程序
或者又为访问MySQL数据库专门写一个程序。
2、Java APP使用JDBC连接数据库并处理数据有哪些操作步骤?
将驱动包所在路径添加到CLASSPATH类路径变量中
(如:将mysql-connector-java-5.1.5-bin.jar复制到D:\javasoft下,然后把“D:/javasoft/mysql-connector-java-5.1.5-bin.jar”增加到CLASSPATH变量值中)
步骤:
1)加载Driver驱动
2)创建数据库连接对象Connection
3)创建一个可向数据库发送SQL命令并返回结果的传送对象Statement
4)执行SQL命令并处理返回结果
5)处理后,如果有返回结果集,关闭结果集对象ResultSet
6)关闭对应的 Statement 对象
7)关闭连接对象Connection
3、案例分析1
//1、加载驱动 com.mysql.jdbc.Driver是驱动类的路径
Class.forName("com.mysql.jdbc.Driver");
//2、创建数据库连接对象 Connection conn = null ; Statement stmt = null ; ResultSet rs = null ; String url = "jdbc:mysql://localhost:3306/test" ; //localhost表示本机 3306为默认端口 test为数据库名称 String username = "root" ; //定义连接数据库的用户名和密码 String password = "root" ; conn = DriverManager.getConnection(url,username,password);

//3、创建一个可向数据库发送SQL命令并返回结果的传送对象Statement stmt = conn.createStatement();

//4、将sql命令通过sql传送对象Statement传送到数据库执行,并返回结果 String sql = "select * from user" ; rs = stmt.executeQuery(sql);

executeQuery()用于执行查询语句,返回的是结果集,实际上就是一个满足查询条件的一个表
rs结果集通过指针来指定当前是哪一条数据
调用next方法,指针会指向下一条数据,如果有数据,会返回true
//5、处理结果集
while(rs.next()){
println(rs.getString("username"));
pringln(rs.getInt("password"));
}
这里没有声明抛出异常,需要放在try catch 的try里面,或者抛出也行,如果放在try里面,要把catchSQLException...
finally要将conn stmt rs 都close 因为这些都是JVM的外部资源,和IO一样都要手动关闭,它不在JVM的管理范围内
4、案例分析2(增删改)
增加、修改、删除都属于数据操作,与数据查询不同的是:
没有查询结果,不需要使用ResultSet
执行方法用的是executeUpdate()不是executeQuery()
executeUpdate()方法也有返回值,但不是ResultSet,而是一个int,表示更新了多少条数据,一般可不处理
5、什么是事务?
是一组原子性的数据库操作,指的是一组数据库操作中,要么都成功,要么都不成功。
一个经典的例子:转账
从100001账户转账100.00元到100002账户:
update account1 set money=money-100.00 where code='100001';
update account1 set money=money+100.00 where code='100002';
如何进行事务管理?
默认是自动提交的,进行事务管理时首先要设为手动提交
程序正常运行时,最后调用Connection对象的commit方法进行事务提交
程序出现异常时,调用Connection对象的rollback方法进行事务回滚
JDBC数据库连接(MySQL为例)的更多相关文章
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- 通过JDBC进行简单的增删改查(以MySQL为例) 目录
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- Java通过JDBC进行简单的增删改查(以MySQL为例)
Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JD ...
- 【转载】通过JDBC对MySQL数据库的增删改查
通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操 ...
- JDBC | 第七章: JDBC数据库连接池使用
概述 数据库连接池是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个.那么其中的运行机制又是怎样的呢?今天主要介绍一下数据库连接池原理和常用的连接池. ...
- 用Navicat连接数据库-数据库连接(MySQL演示)
用Navicat连接数据库-数据库连接(MySql演示) 已成功连接,连接方式步骤如下: 开始之前首先准备连接信息: [ 一般你可以自己去配置文件中找 或者 问连接过该数据库的人/所有者(负责人/同学 ...
- JAVA基础知识之JDBC——JDBC数据库连接池
JDBC数据库连接池 数据库的连接和关闭是很耗费资源的操作,前面介绍的DriverManager方式获取的数据库连接,一个Connection对象就对应了一个物理数据库连接,每次操作都要打开一个连接, ...
- JDBC连接MySQL 方法 实例及资料收集
JDBC连接MySQL 方法 实例及资料收集 准备工作 首先,安装MySQL,配置用户名和密码,创建数据库. 可参见之前的文章: http://www.cnblogs.com/mengdd/p/315 ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- 主机与虚拟机通信:以主机VS2010连接虚拟机MySql为例
1.首先解决环境配置.网络互相通信的问题: 主机:Win7 32bit.虚拟机 Winxp 32bit(不要鄙视我不大会用unix之类的东西).使用virtualBox安装. 网络:虚拟机配置成Bri ...
随机推荐
- 学习git遇到的一些简单错误
From:http://stackoverflow.com/questions/7574459/prompted-for-password-on-git-pull-origin-branch [roo ...
- JAVA中压缩与解压缩
以压缩Zip文件为例.主要是通过ZipOutputStream类实现.解压缩主要使用ZipFile类和ZipInputStream以及ZipEntry类. package main; import j ...
- cvs 用法
CVS使用指南 1 概念 CVS是Client/Server结构的并行版本控制系统. 资源库(repository) 存在于服务器上,所有版本的数据仓库.可以把它想象成一个数据库服务器. 模块 (mo ...
- SQL 去特殊字符
)) ) as begin declare @i int while patindex('%[^%@+*,=../_ <>''" ^0-9 ^a-Z ^''- ^吖-座]%' , ...
- 卸载oracle
1. 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务. 2. 开始->程序->Oracle - OraHome81 ...
- Lua 架构 The Lua Architecture
转载自:http://magicpanda.net/2010/10/lua%E6%9E%B6%E6%9E%84%E6%96%87%E6%A1%A3/ Lua架构文档(翻译) 十 102010 前段时间 ...
- 编译 proto 文件到指定语言的代码
由于 Protocol Buffers 3 的正式版还没有发布,在官网(https://developers.google.com/protocol-buffers/docs/downloads)目前 ...
- [SQL]SQL语言入门级教材_SQL语言基本语句介绍(四)
SQL语言基本语句介绍 • 表的建立 关系数据库的主要特点之一就是用表的方式组织数据.表是SQL语言存放数据.查找数据以及更新数据的基本数据结构.在SQL语言中,表有严格的定义,它是一种二维表,对于这 ...
- java边界布局管理器
public class BorderLayoutPosition extends JFrame{ String[] border={BorderLayout.CENTER,Border ...
- 自动生成Makefile时,关于Makefile.am编写
最近编译一个项目的程序时,二十几个源代码文件放在六个文件夹中,而且各个文件中头文件互相包含.以前写过编译这样组织的源码的makefile,所以这次也就直接写了. 确实因为各个文件间的头文件互相包含,造 ...