Java-JDBC操作数据库

本文详细介绍了Java数据库连接(JDBC)API的使用方法,包括加载驱动、获取连接、创建语句、执行SQL等操作步骤,并提供了PreparedStatement预编译语句的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.简述

全称是Java database connectivity,是java语言操作数据库的 api (应用程序编程接口)

二.一般操作步骤

(1)加载驱动

(Driver) jdbc的驱动就是一个连接工厂,生成的产品是连接对象
com.mysql.jdbc.Driver 是Driver的mysql实现类
具体代码如下
Class.forName(“驱动类名”);
比如
Class.forName(“com.mysql.jdbc.Driver”);
jdbc3.0以上的版本可以省略这一步

(2)获取连接对象

具体代码如下:
DriverManager.getConnection(url, 用户名, 密码); // 内部调用了 Driver 对象获取数据库连接
url的格式为:jdbc:mysql://ip地址:端口号/数据库名?参数
例如
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/kukuku”, “root”, “root”);

(3)创建语句

Statement stmt = conn.createStatement();

(4)执行sql

int rows = stmt.executeUpdate(sql); // 用来执行 insert , update, delete , DDL , 返回值代表影响行数

ResultSet rs = stmt.executeQuery(sql); // 用来执行 select
boolean moreRows = rs.next() 取得下一条记录,
moreRows 是true ,表示有下一条记录, false 表示没有了
while(rs.next()) {

}

(5)释放资源 ( 先打开的资源后关闭 )
rs.close();
stmt.close();
conn.close();
实例

在这里插入图片描述

三.PreparedStatement预编译语句对象

(1)需要预先sql语句

PreparedStatement psmt = conn.prepareStatement(String sql)

(2)可以在sql中用?占位某个值

insert into student(sid,sname,birthday,sex) values(null, ?, ?, ?)

(3)给?赋值

使用PreparedStatement中一系列以 set开头的方法
setString(?的位置, 值)
setInt(?的位置, 值)
setDate(?的位置, 值)
?的位置以1开始,1,2,3…
psmt.setString(1, “李四”);
psmt.setString(2, “1999-9-7”);
psmt.setString(3, “男”);

(4)执行sql

psmt.executeUpdate();
注意:?能够占位的只有值, 不能是表名、列名、关键字

实例

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值