JDBC编程详解

JDBC-Java Date Base Connectivity(Java数据库连接)

顾名思义,JDBC便是Java应用程序与数据库的连接纽带,如下图

JDBC编程详解_第1张图片

JDBC是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。

有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必针对不同的数据库编写不同的Java程序,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。

下图便是JDBC的功能示意图

JDBC编程详解_第2张图片

简单地说,JDBC 可做三件事:与数据库建立连接、发送 操作数据库的语句并处理结果。

JDBC的实现有一套比较规范的编程步骤,下面便一一讲解

1.Load the Driver(加载驱动,本次练习我使用的是MySQL数据库,需要将MySQL指定的驱动jar包加载到程序中,如图

 1)  Class.forName("所使用的驱动类的完整名字,在这里使用的是com.mysql.jdbc.Driver")

 2)   第一步相当于实例化了一个com.mysql.jdbc.Driver类的对象,实例化时自动向DriverManager注册,不需要显示调用DriverManager.register方法

2.Connect to the Database

1).DriverManager.getConnention()——DriverManager.getConnection 方法返回一个打开的连接,你可以使用此连接创建 JDBC statements 并发送 SQL 语句到数据库。

3.Execute the SQL

1)  Connection.CreateStatement()

2)  Statement.executeQuery()

3)  Statement.executeUpdate()

4.Retrieve the result data

1) 循环取得结果 while(rs.next())

5.Show the result data

1)将数据库中的各种类型转换为Java中的类型并打印输出

6.Close

1) close the resultset

2) close the statement

3) close the connection 

结合程序说明

package 数据库;

import java.sql.*;//所有与数据库有关的类和接口都在此包中

public class Example {
	/*
	 * jdbc:mysql://127.0.0.1:3306/imooc是固有语法,
	 *  其中 127.0.0.1是本机IP地址,表示目的数据库在本机中
	 * 3306为默认端口 
	 * imooc是数据库的名字
	 */
	private static final String URL = "jdbc:mysql://127.0.0.1:3306/imooc";
	/*
	 * 本机MySQL用户名为root 密码为www9183com
	 */

	private static final String USER = "root";
	private static final String PASSWORD = "www9183com";

	public static void main(String[] args) {
		Connection coon = null;
		Statement stmt = null;
		ResultSet rs = null;
		try {
			// 新建一个com.mysql.jdbc.Driver类的实例
			Class.forName("com.mysql.jdbc.Driver");
			// 传入参数获得与数据库的连接
			coon = DriverManager.getConnection(URL, USER, PASSWORD);
			// Statement 对象用于把 SQL 语句发送到 DBMS
			stmt = coon.createStatement();
			/*
			 * 在此stmt对象中执行SQL查询,并返回该查询生成的ResultSet对象 
			 * select user_name fromimooc_goddess为SQL语句 ,
			 */
			rs = stmt.executeQuery("select * from imooc_goddess");
			while (rs.next()) {
				// 遍历输出想要查询的数据
				System.out.println("姓名:" + rs.getString("user_name") + "   年龄:"
						+ rs.getInt("age") + " 性别:" + rs.getInt("sex") + " 生日:"
						+ rs.getDate("birthday") + " 联系方式:"
						+ rs.getNString("mobile"));
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			/*
			 * 关闭连接释放资源 
			 * 后打开的先关闭
			 */
			try {
				if (rs != null) {
					rs.close();
				}
				if (stmt != null) {
					stmt.close();
				}
				if (coon != null) {
					coon.close();
				}
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

}
使用navicat建立imooc数据库并在imooc数据库中新建imooc_goddess数据表

JDBC编程详解_第3张图片
JDBC编程详解_第4张图片

使用MySql指令查看已经建立的数据表imooc_goddess

JDBC编程详解_第5张图片


实现Java程序与数据库的连接

JDBC编程详解_第6张图片



你可能感兴趣的:(数据库,mysql,jdbc,jar,navicat)