如何使用 JDBC 从表中检索 DATALINK 对象?
jdbcobject oriented programmingprogramming更新于 2025/6/30 1:37:17
DATALINK 对象表示指向外部资源(当前数据库/数据源之外)的 URL 值,该资源可以是文件、目录等。
您可以使用 PreparedStatement 接口的 getURL() 方法从 SQL 表中检索 DATALINK 对象。此方法接受一个整数值,该整数值表示 ResultSet 中列的索引,并返回指定索引处的 URL 对象。
示例
让我们使用 CREATE 语句在 MySQL 数据库中创建一个名为 tutorials_data 的表,如下所示 −
CREATE TABLE tutorials_data ( tutorial_id INT PRIMARY KEY AUTO_INCREMENT, tutorial_title VARCHAR(100), tutorial_author VARCHAR(40), submission_date date, tutorial_link VARCHAR(255) );
现在,我们将使用 INSERT 语句向 tutorials_data 表中插入 5 条记录 −
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('Java', 'Krishna Kasyap', DATE('2019-09-01'), 'http://www.tutorialspoint.com/java');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('JFreeCharts', 'Satish Kumar', DATE('2019-05-01 '), 'https://www.tutorialspoint.com/jfreechart');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('Android', 'Sai Ram', DATE('2019-03-01'), 'https://www.tutorialspoint.com/android');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('Cassandra', 'Pruthvi Raj', DATE('2019-04-06'), 'https://www.tutorialspoint.com/cassandra');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('JavaFX', 'Sarmista sharma', DATE('2018-05-01'), 'https://www.tutorialspoint.com/javafx
以下 JDBC 程序与 MySQl 数据库建立连接,并检索 tutorials_data 表的内容。此处,我们使用 getURL() 方法获取 tutorial_link 列下每条记录的 URL(DATALINK) 值。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class RetrievingDataLinkObjects {
public static void main(String args[])throws Exception{
//注册驱动程序
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//获取连接
String mysqlUrl = "jdbc:mysql://localhost/sampledatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("连接已建立......");
//创建 Statement 对象
Statement stmt = con.createStatement();
//查询 tutorials_data 表的内容
String query = "select * from tutorials_data";
//执行语句
ResultSet rs = stmt.executeQuery(query);
System.out.println("表 tutorials_data 的内容: ");
//检索表的内容
while(rs.next()){
System.out.print("ID: "+rs.getInt("tutorial_id")+", ");
System.out.print("Title: "+rs.getString("tutorial_title")+", ");
System.out.print("Author: "+rs.getString("tutorial_author")+", ");
System.out.print("Submission date: "+rs.getDate("submission_date"));
//使用 getURL() 方法检索 DATALINK 对象
System.out.print("Tutorial link: "+rs.getURL("tutorial_link"));
System.out.println();
}
}
}
输出
连接已建立...... Contents of the table tutorials_data: ID: 1, Title: Java, Author: Krishna Kasyap, Submission date: 2019-09-01Tutorial link: http://www.tutorialspoint.com/java ID: 2, Title: JFreeCharts, Author: Satish Kumar, Submission date: 2019-05-01Tutorial link: https://www.tutorialspoint.com/jfreechart ID: 3, Title: Android, Author: Sai Ram, Submission date: 2019-03-01Tutorial link: https://www.tutorialspoint.com/android ID: 4, Title: Cassandra, Author: Pruthvi Raj, Submission date: 2019-04-06Tutorial link: https://www.tutorialspoint.com/cassandra ID: 5, Title: JavaFX, Author: Sarmista sharma, Submission date: 2018-05-01Tutorial link: https://www.tutorialspoint.com/javafx

