在测试类怎么用.set()的方法给一个MySQL中是date类型的数据赋值,给出例子
时间: 2024-03-16 09:46:49 浏览: 68
在Java中,如果需要给MySQL中的`date`类型的数据赋值,可以使用`java.sql.Date`类和`java.util.Date`类进行转换,然后使用`set`方法给`PreparedStatement`对象设置参数。以下是一个简单的示例代码:
```java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
public class TestClass {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/mydatabase";
String user = "root";
String password = "password";
Connection conn = null;
PreparedStatement pstmt = null;
try {
// 加载MySQL驱动程序
Class.forName("com.mysql.jdbc.Driver");
// 获取数据库连接
conn = DriverManager.getConnection(url, user, password);
// SQL语句
String sql = "INSERT INTO mytable (id, name, birthdate) VALUES (?, ?, ?)";
// 创建PreparedStatement对象
pstmt = conn.prepareStatement(sql);
// 设置参数
pstmt.setInt(1, 1);
pstmt.setString(2, "张三");
pstmt.setDate(3, new java.sql.Date(new Date().getTime())); // 将java.util.Date转换成java.sql.Date
// 执行SQL语句
pstmt.executeUpdate();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
// 关闭资源
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
```
在上面的代码中,首先加载MySQL驱动程序并获取数据库连接。然后定义SQL语句,创建`PreparedStatement`对象,并使用`set`方法设置参数。注意,这里将`java.util.Date`类型转换成了`java.sql.Date`类型。最后执行SQL语句并关闭资源。
阅读全文