JDBC介绍及第一个JDBC程序测试
一、JDBC介绍
SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC。 这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加载具体的驱动,就 可以操作数据库。 如下图所示:
JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成。
组成JDBC的2个包:java.sql、javax.sql
开发JDBC应用需要以上2个包的支持外,还需要导入相应JDBC的数据库实现(即数据库驱动)。
二、编写JDBC程序
搭建实验环境
1 2 3 4 5 6 7 8 9 10 11 12 13 | CREATE DATABASE jdbcStudy CHARACTER SET utf8 COLLATE utf8_general_ci; USE jdbcStudy; CREATE TABLE users( id INT PRIMARY KEY , NAME VARCHAR (40), PASSWORD VARCHAR (40), email VARCHAR (60), birthday DATE ); INSERT INTO users(id, NAME , PASSWORD ,email,birthday) VALUES (1, 'zhansan' , '123456' , 'zs@sina.com' , '1980-12-04' ), (2, 'lisi' , '123456' , 'lisi@sina.com' , '1981-12-04' ), (3, 'wangwu' , '123456' , 'wangwu@sina.com' , '1979-12-04' ); |
新建一个Java工程,并导入数据驱动
编写程序从user表中读取数据,并打印在命令行窗口中。
1234567891011121314151617181920212223242526272829303132333435363738package
com.fubai.lesson01;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.ResultSet;
import
java.sql.Statement;
public
class
JdbcFirstDemo {
public
static
void
main(String[] args)
throws
Exception {
//要连接的数据库URL
String url =
"jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=false"
;
//连接的数据库时使用的用户名
String username =
"root"
;
//连接的数据库时使用的密码
String password =
"123456"
;
//1.加载驱动
//DriverManager.registerDriver(new com.mysql.jdbc.Driver());不推荐使用这种方式来加载驱动
Class.forName(
"com.mysql.jdbc.Driver"
);
//推荐使用这种方式来加载驱动
//2.获取与数据库的链接
Connection conn = DriverManager.getConnection(url, username,password);
//3.获取用于向数据库发送sql语句的statement
Statement st = conn.createStatement();
String sql =
"select id,name,password,email,birthday from users"
;
//4.向数据库发sql,并获取代表结果集的resultset
ResultSet rs = st.executeQuery(sql);
//5.取出结果集的数据
while
(rs.next()){
System.out.println(
"id="
+ rs.getObject(
"id"
));
System.out.println(
"name="
+ rs.getObject(
"name"
));
System.out.println(
"password="
+ rs.getObject(
"password"
));
System.out.println(
"email="
+ rs.getObject(
"email"
));
System.out.println(
"birthday="
+ rs.getObject(
"birthday"
));
}
//6.关闭链接,释放资源
rs.close();
st.close();
conn.close();
}
}
本文来自博客园,作者:腹白,转载请注明原文链接:https://www.cnblogs.com/wyh518/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?