Я пытаюсь вставить строку в базу данных mysql, используя Java jdb c связность ....
Вот мой код,
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 class
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 .lang.ClassCastException : класс java .util.Date не может быть приведен к классу java. sql .Date (java .util.Date находится в модуле java .base загрузчика 'bootstrap'; java . sql .Дата находится в модуле java. sql загрузчика «платформа») в jdbcsample.DBPreparedStatement2.main (DBPreparedStatement2. java: 25)