博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC 操作数据库实例
阅读量:6833 次
发布时间:2019-06-26

本文共 3033 字,大约阅读时间需要 10 分钟。

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简单应用实例

 

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

 

二.下载驱动Mysql-Connector/J

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

点击下载

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

 

三.构建表

具体命令可以看:

在mysql下新建数据库firstdb

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

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

 

四.编写程序,新建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!");	}}

 

运行代码,结果如下:

 

转载于:https://www.cnblogs.com/kevinWu7/p/10163477.html

你可能感兴趣的文章
Cocos2dx引擎10-事件派发
查看>>
基于jQuery的宽屏可左右切换的焦点图插件
查看>>
IT技术需求建立时需考虑的因素
查看>>
猛醒:也许我们一生追求的都错了!
查看>>
IDDD 实现领域驱动设计-理解领域和子域
查看>>
GitHub基本操作
查看>>
微信开发(01)之如何成为开发者
查看>>
Redis 中的事务
查看>>
canvas使用3
查看>>
怎么创建MongoDB数据库
查看>>
Quart2D图形上下文
查看>>
html5 canvas旋转+缩放
查看>>
QtGui.QSplitter
查看>>
前端进阶试题css(来自js高级前端开发---豪情)既然被发现了HOHO,那我就置顶了嘿嘿!觉得自己技术OK的可以把这套题目做完哦,然后加入高级前端的社区咯...
查看>>
ODAC(V9.5.15) 学习笔记(十九)主键值自动生成
查看>>
MVC4 WebApi开发中如果想支持Session请做好如下几个方面的问题
查看>>
Android中View绘制流程以及invalidate()等相关方法分析
查看>>
nicehair
查看>>
Hibernate工作原理
查看>>
《双龍形态操盘秘笈》
查看>>