JDBC——Java数据库连接

JDBC

2 JDBC概述

2.1 什么是JDBC

JDBC( Java DataBase Connectivity ) 翻译过来就是Java数据库连接,其实就是通过Java语言操作数据库的一门技术。

2.2 为什么要学习JDBC

在Java开发中,我们不是通过CMD窗口来操作数据库,更多的是通过Java程序来操作数据库,而JDBC就可以实现这样一个操作.
在这里插入图片描述

2.3 如何使用JDBC访问数据库

1.提出需求:
创建一个 jt_db 数据库,在库中创建一个Account表,并插入三条记录,然后利用Java程序查询出Account表中所有的记录,并打印在控制台上.
2.开发步骤:
(1)准备数据, 创建jt_db库, 创建account表

drop database if exists jt_db;
create database jt_db charset utf8;
use jt_db;
create table account(
	id int primary key auto_increment,  
	name varchar(50),
	money double
);
insert into account values(null, 'tom', 1000);
insert into account values(null, 'andy', 1000);
insert into account values(null, 'tony', 1000);

(2)创建JAVA工程
在这里插入图片描述

(3)导入jar包
在这里插入图片描述
在这里插入图片描述

(4)创建类并实现JDBC程序(六个步骤)
在这里插入图片描述

代码实现:

//1.注册数据库驱动
Class.forName("com.mysql.jdbc.Driver");

//2.获取数据库连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jt_db?useUnicode=true&characterEncoding=utf-8", "root", "root");

//3.获取传输器
Statement stat = conn.createStatement();
		
//4.利用传输器发送SQL到数据库执行,并返回执行结果
ResultSet rs = stat.executeQuery("select * from account");
		
//5.处理结果:将表中所有的记录输出在控制台
while (rs.next()) {
   
	int id = rs.getInt("id");
	String name = rs.getString("name");
	double money = rs.getDouble("money");
	System.out.println(id+" : "+name+" : "+money);
}
		
//6.释放资源
rs.close();
stat.close();
conn.close();

3.执行结果:
在这里插入图片描述

*2.4 JDBC开发细节

1、注册数据库驱动

Class.forName("com.mysql.jdbc.Driver");

所谓的注册驱动,就是让JDBC程序加载mysql驱动程序,并管理驱动
驱动程序实现了JDBC API定义的接口以及和数据库服务器交互的功能,加载驱动是为了方便使用这些功能。

2、获取连接之数据库URL

Connection conn = DriverManager.getConnection(	
	"jdbc:mysql://localhost:3306/jt_db", 
	"root", "root"
);

DriverManager.getConnection() 用于获取数据连接, 返回的Connection连接对象是JDBC程序连接数据库至关重要的一个对象

参数2和参数3分别是所连接数据库的用户名和密码。
参数1 “jdbc:mysql://localhost:3306/jt_db” 是连接数据库的URL,用于指定访问哪一个位置上的数据库服务器及服务器中的哪一个数据库,其写法为:
在这里插入图片描述

当连接本地数据库,并且端口为3306,可以简写为如下形式:
jdbc:mysql:///jt_db

3、Statement传输器对象

Statement stat = conn.createStatement();

**Statement传输器对象用于向数据库服务器发送sql语句,该对象上提供了发送sql的方法:

executeQuery(String sql) – 用于向数据库发送查询类型的sql语句,返回一个ResultSet对象中
executeUpdate(String sql) – 用于向数据库发送更新(增加、删除、修改)类型的sql语句,返回一个int值,表示影响的记录行数**

4、ResultSet结果集对象
ResultSet对象用于封装sql语句查询的结果,也是一个非常重要的对象。该对象上提供了遍历数据及获取数据的方法。
(1)遍历数据行的方法

next() – 使指向数据行的索引向下移动一行

(2)获取数据的方法

getInt(int columnIndex)
getInt(String columnLable)
getString(int columnIndex)
getString(String columnLable)
getDouble(int columnIndex)
getDouble(String columnLable)
getObject(int columnIndex)
getObject(String columnLable)

5、释放资源

rs.close();
stat.close();
conn.close();

此处释放资源必须按照一定的顺序释放,越晚获取的越先关闭。所以先关闭 rs对象,再关闭stat对象,最后关闭conn对象。
另,为了避免上面的程序抛出异常,释放资源的代码不会执行,应该把释放资源的代码放在finally块中.

try{
   
	...
}catch(Exception e){
   
	...
}finally{
   
	if (rs != null) {
   
		try {
   
			rs.close();
		} catch (SQLException e) {
   
			e.printStackTrace();
		} finally {
   
			rs = null;
		}
	}
	if (stat != null) {
   
		try {
   
			stat.close();
		} catch (SQLException e) {
   
			
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
播报频率和波形参数。我们可以使用百度语音合成API来实现语音合成,该API使用 JDBC 连接 Access 数据库,需要先下载 Microsoft 的 JDBC-ODBC 驱动,然后进行以下步骤: 1.可以将文本转换为语音,并以MP3格式进行下载。我们可以使用以下代码来实现语音合成 安装 Access 数据库并创建一个数据库文件(后缀为 .mdb 或 .accdb)。 2. 下载并安装: ```python import urllib.request import json def text_to_speech(text, filename): api_key = 'Your API Key Microsoft Access Database Engine。 3. 在系统的 ODBC 数据源管理器中添加一个数据源,选择 Microsoft Access Driver (*.mdb, *.accdb)。 4. 按照提示填写数据源名称和数据库文件路径等信息。 5. 在 Java 代码中使用 JDBC 连接 Access 数据库,示例代码如下: ```java import java.sql.*; public class AccessJDBC { public static void main(String[] args) { Connection conn = null; Statement stmt = null; ResultSet rs = null; try { // 加载 JDBC 驱动 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // 连接数据库 String url = "jdbc:odbc:myAccessDB"; String user = ""; String password = ""; conn = DriverManager.getConnection(url, user, password); // 执行 SQL 查询 String sql = "SELECT * FROM myTable"; stmt = conn.createStatement(); rs = stmt.executeQuery(sql); // 处理查询结果 while (rs.next()) { System.out.println(rs.getString("id") + ", " + rs.getString("name")); } } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭资源 try { if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } ``` 其中,url 参数的值应该与 ODBC 数据源管理器中设置的数据源名称相同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值