这篇文章主要为大家详细介绍了 MySQL 为例讲解 JDBC 数据库连接步骤,感兴趣的小伙伴们可以参考一下
MySQL 是一个开放源码的小型关联式数据库管理系统,开发者为瑞典 MySQL AB 公司。MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 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命令并返回结果的传送对象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 账户:
如何进行事务管理?
默认是自动提交的,进行事务管理时首先要设为手动提交
程序正常运行时,最后调用 Connection 对象的 commit 方法进行事务提交
程序出现异常时,调用 Connection 对象的 rollback 方法进行事务回滚
来源: http://www.phperz.com/article/17/0329/290388.html