如何使用 JDBC 将 DATALINK 对象插入表中?
DATALINK 对象表示一个 URL 值,该值引用外部资源(当前数据库/数据源之外),可以是文件、目录等。
可以使用 **PreparedStatement** 接口的 **setURL()** 方法将 DATALINK 存储到 SQL 表中。此方法接受一个表示绑定变量索引的整数值和一个 URL 对象,并将给定的 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 表中插入 4 条记录:
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('Java', 'Krishna Kasyap', DATE('2019-09-01'), 'https://tutorialspoint.com/java');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('JFreeCharts', 'Satish Kumar', DATE('2019-05-01 '), 'https://tutorialspoint.com/jfreechart');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date, tutorial_link) values('Android', 'Sai Ram', DATE('2019-03-01'), 'https://tutorialspoint.com/android');
insert into tutorials_data (tutorial_title, tutorial_author, submission_date,tutorial_link) values('Cassandra', 'Pruthvi Raj', DATE('2019-04-06'), 'https://tutorialspoint.com/cassandra');以下 JDBC 程序将一条新记录插入 tutorials_data 表中。在这里,我们使用 **PreparedStatement** 的 **setURL()** 方法将 DATALINK 对象插入 **tutorials_data** 表的 **tutorial_link** 列中。
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.net.URL;
public class StoringDataLinkObjects {
public static void main(String args[])throws Exception {
//Registering the Driver
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
//Getting the connection
String mysqlUrl = "jdbc:mysql:///sampledatabase";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
//Query to insert data into tutorials_data table
String query = "insert into tutorials_data ("
+ "tutorial_title, "
+ "tutorial_author, "
+ "submission_date, "
+ "tutorial_link) values(?, ?, ?, ? )";
//Creating the preparedStatement object
PreparedStatement pstmt = con.prepareStatement(query);
pstmt.setString(1, "JavaFX");
pstmt.setString(2, "Sarmista sharma");
pstmt.setDate(3, new Date(1525169078000L));
//Setting the URL value
pstmt.setURL(4, new URL("https://tutorialspoint.com/javafx"));
pstmt.execute();
System.out.println("Record inserted........");
}
}输出
Connection established...... Record inserted........
验证
如果您获取 tutorials_data 表的内容,您会看到新插入的记录如下:
mysql> select * from tutorials_data; +-------------+----------------+-----------------+-----------------+-------------------------------------------+ | tutorial_id | tutorial_title | tutorial_author | submission_date | tutorial_link | +-------------+----------------+-----------------+-----------------+-------------------------------------------+ | 1 | Java | Krishna Kasyap | 2019-09-01 | https://tutorialspoint.com/java | | 2 | JFreeCharts | Satish Kumar | 2019-05-01 | https://tutorialspoint.com/jfreechart | | 3 | Android | Sai Ram | 2019-03-01 | https://tutorialspoint.com/android | | 4 | Cassandra | Pruthvi Raj | 2019-04-06 | https://tutorialspoint.com/cassandra | | 5 | JavaFX | Sarmista sharma | 2018-05-01 | https://tutorialspoint.com/javafx | +-------------+----------------+-----------------+-----------------+-------------------------------------------+ 7 rows in set (0.00 sec)
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP