使用java在mysql数据库中插入日期
我正在尝试使用Java jdbc连接在mysql数据库中插入一行
这是我的密码
public class DBPreparedStatement2 {
public static void main(String[] args) throws ParseException{
try {
ArrayList<Student> slist = new ArrayList<Student>();
String sDate1="1998/11/04";
java.sql.Date dob=(java.sql.Date) new SimpleDateFormat("yyyy/MM/dd").parse(sDate1);
slist.add(new Student(6,"James","Bond",dob,10,"jb@yahoo.com"));
Class.forName("com.mysql.jdbc.Driver");
Connection
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/school","root","root");
String insertCommand="INSERT INTO STUDENTS VALUES(?,?,?,?,?,?)";
PreparedStatement ps=con.prepareStatement(insertCommand);
for(Student student:slist) {
ps.setInt(1, student.id);
ps.setString(2, student.firstName);
ps.setString(3, student.lastName);
ps.setDate(4, student.dob);
ps.setInt(5, student.studClass);
ps.setString(6, student.email);
}
}catch(ClassNotFoundException e1) {
e1.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}
}
}
当我试图运行代码时,我得到了类强制转换异常。。。 非常感谢您的帮助。 这是我的学生。java类
import java.sql.Date;
public class Student {
int id;
String firstName;
String lastName;
Date dob;
int studClass;
String email;
public Student() { }
public Student(int id,String firstName,String lastName,java.sql.Date dob,int studClass,String email) {
this.id = id;
this.firstName = firstName;
this.lastName = lastName;
this.dob = dob;
this.studClass = studClass;
this.email = email;
}
}
运行代码时,出现以下错误: 线程“main”java中出现异常。ClassCastException:类java。util。日期不能强制转换为 类java。sql。Date(java.util.Date位于加载程序“bootstrap”的模块java.base中;java.sql.Date 在java模块中。加载程序“平台”的sql 在jdbcsample。DBPreparedStatement2。main(DBPreparedStatement2.java:25)
共 (0) 个答案