定义:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
步骤:
第一步:加载驱动
右击项目 -> Build Path -> Configure Build Path -> Add Exteranl JARs,然后选择已经下载的jar包。
mysql-connector-java的jar包下载地址:http://mvnrepository.com/artifact/mysql/mysql-connector-java ,选择一个适合的版本即可。
MySQL驱动名:com.mysql.jdbc.Driver
加载方式: Class.forName(驱动名);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class JDBCDriver { private static String jdbcName= "com.mysql.jdbc.Driver" ; public static void main(String[] args) { try { Class.forName(jdbcName); System.out.println( "加载驱动成功!" ); } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println( "加载驱动失败" ); } } } |
第二步:连接数据库
1、DriverManager 驱动管理类,主要负责获取一个数据库的连接;
static Connection getConnection(String url, String user, String password) 试图建立到给定数据库 URL 的连接。
2、MySQL 数据库的连接地址格式
jdbc:mysql://IP 地址:端口号/数据库名称
jdbc 协议:JDBC URL 中的协议总是 jdbc ;
子协议:驱动程序名或数据库连接机制(这种机制可由一个或多个驱动程序支持)的名称,如 mysql;
子名称:一种标识数据库的方法。必须遵循“//主机名:端口/子协议”的标准 URL 命名约定,如
//localhost:3306/db_book
3、Connection 接口 与特定数据库的连接(会话) 。
void close()
立即释放此 Connection 对象的数据库和 JDBC 资源,而不是等待它们被自动释放。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import java.sql.DriverManager; import java.sql.SQLException; import com.mysql.jdbc.Connection; public class JDBCConnector { private static String dbUrl= "jdbc:mysql://localhost:3306/db_jdbcTest" ; private static String dbUserName= "root" ; private static String dbPassword= "123456" ; private static String jdbcName= "com.mysql.jdbc.Driver" ; public static void main(String[] args) { try { Class.forName(jdbcName); System.out.println( "驱动加载成功!" ); } catch (ClassNotFoundException e) { e.printStackTrace(); System.out.println( "驱动加载失败!" ); } Connection con = null ; try { con = (Connection) DriverManager.getConnection(dbUrl, dbUserName, dbPassword); System.out.println( "数据库连接成功!" ); System.out.println( "进行数据库操作..." ); } catch (SQLException e) { e.printStackTrace(); System.out.println( "数据库连接失败!" ); } finally { try { con.close(); System.out.println( "连接已释放!" ); } catch (SQLException e) { e.printStackTrace(); System.out.println( "连接尚未释放。。。" ); } } } } |
第三步:使用语句操作数据库
1
|
System.out.println( "进行数据库操作..." ); |
操作数据库通常使用statement接口。
第四步:关闭数据库连接,释放资源
1
2
3
4
5
6
7
|
try { con.close(); System.out.println( "连接已释放!" ); } catch (SQLException e) { e.printStackTrace(); System.out.println( "连接尚未释放。。。" ); } |