视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL为例讲解JDBC数据库连接步骤
2020-11-09 20:46:17 责编:小采
文档


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命令并返回结果的传送对象Statementstmt = 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方法进行事务回滚

下载本文
显示全文
专题