发布时间:2023-01-06 12:00
本关任务:使用jdbc
连接数据库并完成创建数据库和创建表的操作。
JDBC API
提供以下接口和类:
DriverManager
:此类管理数据库驱动程序列表。可在JDBC
下识别某个子协议的第一个驱动程序,用于建立数据库连接。
Driver
:此接口处理与数据库服务器的通信。我们很少会直接与Driver
对象进行交互。在编程中要连接数据库,必须先装载特定厂商的数据库驱动程序。
Connection
:此接口具有用于联系数据库的所有方法。 Connection
对象表示通信上下文,即与数据库的所有通信仅通过连接对象。
Statement
:用于执行静态SQL
语句并返回它所生成结果的对象。一些派生接口还可接受参数,如PrepareStatement
。
ResultSet
:提供检索不同类型字段的方法。(操作对象为Statement
执行SQL
查询后的结果)
SQLException
:此类处理数据库应用程序中发生的任何错误。
使用JDBC
的步骤如下:
加载数据库驱动 → 建立数据库连接(Connection
) → 创建执行SQL
语句的Statement
对象 → 处理执行结果(ResultSet
) → 释放资源
为了完成本关任务,你需要掌握:1.如何加载数据库驱动;2.如何建立数据库连接;3.如何执行编写的SQL
语句;4.释放资源。
驱动加载是为了打开与数据库的通信通道。
在注册驱动前我们需要装载特定厂商的数据库驱动程序,导入mysq-connector-java
的jar
包,方法是在项目中建立lib
目录,在其下放入jar
包。
然后右键jar
包 Build Path
→Add to Build Path
完成jar
包导入。将jar
包导入项目之后我们就开始注册驱动:
Java
加载数据库驱动通常是使用Class
类的静态方法forName()
,语法格式如下:
Class.forName(String driverManager)
示例:
try {
Class.forName("com.mysql.jdbc.Driver" );
} catch (ClassNotFoundException e) {
e.printStackT\frace();
}
如果加载成功,会将加载的驱动类注册给DriverManager
;加载失败,会抛出ClassNotFoundException
异常。
成功加载完数据库驱动后,就可以建立数据库的连接了,使用DriverManager
的静态方法getConnection()
来实现。如下:
Connection conn = DriverManager.getConnection(url, user, password);
URL
用于标识数据库的位置,通过URL
地址告诉JDBC
程序连接信息。
若不存在数据库,只建立连接,URL
的写法为:
若存在数据库test
,URL
的写法为:
其中localhost
可以换成IP
地址127.0.0.1
,3306
为MySQL
数据库的默认端口号,user
和password
对应数据库的用户名和密码。
SQL
语句连接建立完毕后,就可以使用Connection
接口的createStatement()
方法来获取Statement
对象;并通过executeUpdate()
方法来执行SQL
语句。
创建statement
对象
try {
Statement statement = conn.createStatement();
} catch (SQLException e) {
e.printStackT\frace();
}
创建数据库
try {
String sql1="drop database if exists test";
String sql2="create database test";
statement.executeUpdate(sql1);//执行sql语句
statement.executeUpdate(sql2);
} catch (SQLException e) {
e.printStackT\frace();
}
创建表
try {
statement.executeUpdate("use test");//选择在哪个数据库中操作
String sql = "create table table1(" +
"column1 int not null, " +
"column2 varchar(255)" +
")";
statement.executeUpdate(sql);
} catch (SQLException e) {
e.printStackT\frace();
}