欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JDBC 操作数据库实例

程序员文章站 2022-05-02 20:19:27
...

JDBC是什么

JDBC代表Java数据库连接(Java Database Connectivity),它是用于Java编程语言和数据库之间的数据库无关连接的标准Java API,换句话说:JDBC是用于在Java语言编程中与数据库连接的API. 

使用Java代码发送sql语句的技术就是JDBC技术。即JDBC是一个接口,用于不同的数据库(oracle、mysql、sqlserver。。)的操作。

java.sqljavax.sql是JDBC 4.0的主要jar包。

JDBC允许Java程序包含与数据库无关的代码(同样的代码,只需要指定使用的数据库类型,不需要重修改数据库查询或操作代码)。

 

JDBC架构

JDBC API支持用于数据库访问的两层和三层处理模型,但通常,JDBC体系结构由两层组成:

  • JDBC API:提供应用程序到JDBC管理器连接。
  • JDBC驱动程序API:支持JDBC管理器到驱动程序连接。

以下是架构图,它显示了驱动程序管理器相对于JDBC驱动程序和Java应用程序的位置

JDBC 操作数据库实例

 

 

JDBC简单应用实例

 

一.安装数据库Mysql ,本例子使用的是mysql

点击查看如何安装

 

二.下载驱动Mysql-Connector/J

要在程序中连接mysql数据库对其进行操作,我们还需要下载驱动Mysql-Connector/J,这是mysql为java的数据库连接开发的库,同时官网上也有类似为其他语言的库,比如Connectors/.Net , Connectors/php , Connectors/C++.

点击下载mysql-connector-java-5.1.47.jar

下载zip包,解压后找到mysql-connector-java-5.1.47.jar包,导入到java程序即可,完成准备工作。

 

三.构建表

具体命令可以看:如何创建表

在mysql下新建数据库firstdb

在firstdb下新建一张表xtb.  表结构为user_id,user_name,user_sex,user_phone

然后插入几条数据,最后完成如下:

JDBC 操作数据库实例

 

四.编写程序,新建common类,应用jdbc来对数据库中的xtb表进行增删查改。

代码如下:

package jdbc_test;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class common {
	// JDBC 驱动名 及数据库 URL
	static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
	static final String DB_URL = "jdbc:mysql://localhost:3306/firstdb";

	// 数据库的用户名与密码,需要根据自己的设置
	static final String USER = "root";
	static final String PASS = "";

	public static void main(String[] args) throws Exception {
		Connection conn = null;
		Statement stmt = null;
		try {
			// 注册 JDBC 驱动
			// 把Driver类装载进jvm
			Class.forName("com.mysql.jdbc.Driver");

			// 打开链接
			System.out.println("连接数据库...");
			conn = (Connection) DriverManager.getConnection(DB_URL, USER, PASS);

			// 执行查询
			System.out.println(" 实例化Statement对...");
			stmt = (Statement) conn.createStatement();
			String sql = "SELECT * FROM xtb";
			ResultSet rs = stmt.executeQuery(sql);

			while (rs.next()) {
				// 通过字段检索
				int id = rs.getInt("user_id");
				String name = rs.getString("user_name");
				String sex = rs.getString("user_sex");
				String phone = rs.getString("user_phone");
				// 输出数据
				System.out.print("ID: " + id);
				System.out.print(", 名字: " + name);
				System.out.print(",性别: " + sex);
				System.out.print(", 手机号码:" + phone);
				System.out.print("\n");
			}
            //更新update
			String update_sql = "update  xtb set user_name=\"jerry\",user_phone =\"0123\"  where user_id>4";
			stmt.execute(update_sql);
           
			//增加insert
			String inset_sql = "insert into xtb (user_name, user_sex, user_phone) values(\"jom\", \"nan\",  \"123864979\")";
			int i = stmt.executeUpdate(inset_sql);
            
			//删除 delete
			String delete_sql = "delete from xtb where user_id>4";
			stmt.execute(delete_sql);

			// 完成后关闭
			rs.close();
			stmt.close();
			conn.close();
		} catch (SQLException se) {
			// 处理 JDBC 错误
			se.printStackTrace();
		} catch (Exception e) {
			// 处理 Class.forName 错误
			e.printStackTrace();
		} finally {
			// 关闭资源
			if (stmt != null)
				stmt.close();
			if (conn != null)
				conn.close();
		}
		System.out.println("jdbc_test_end!");
	}
}

 

运行代码,结果如下:

JDBC 操作数据库实例

 

相关标签: JDBC