728x90
String insertsql = "insert into wifi_history (x, y,make_date)"
+ " values(?,?,?)";
preparedStatement = connection.prepareStatement(insertsql);
preparedStatement.setDouble(1, x);
preparedStatement.setDouble(2, y);
preparedStatement.setDate(3, (java.sql.Date)now);
preparedStatement.executeUpdate();
이렇게 해줬는데
java.lang.ClassCastException: class java.util.Date cannot be cast to class java.sql.Date (java.util.Date is in module java.base of loader 'bootstrap'; java.sql.Date is in module java.sql of loader 'platform')
이런 오류 발생
java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
preparedStatement.setDate(3,sqlDate);
이렇게 해주면 된다 !
먼저 java.util.Date로 현재시간 받아온 다음에
java.sql.Date 객체로 만들어주고 그 값을 db에 저장!
그치만 제대로 저장 안 된 것을 확인...
날짜 시간 값을 자바코드에서 넣어주는게 아니라
CREATE TABLE wifi_history (
"id" INTEGER NOT NULL primary key autoincrement ,
"x" INTEGER NULL,
"y" INTEGER NULL,
"make_date" TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
DB 테이블을 애초에 값이 만들어지면 현재날짜와 시간을 넣을 수 있게 함.
잘 들어갔다 !
근데 나 빼먹고 안 한게 직접 DB 세팅이 아니라 DTO에 getter , setter 이용해서 해야할 것 같은데 ...
728x90
'공부 > Trouble Shooting' 카테고리의 다른 글
자바스크립트 "$ is not defined" (0) | 2023.09.07 |
---|---|
DB에 id값 자동증분하여 저장하기 (0) | 2023.09.06 |
자바스크립트에서 자바 함수 호출 (0) | 2023.09.06 |
이클립스 깃허브 연결 (0) | 2023.09.04 |
Open API로 받아온 정보 JSON 파싱 (0) | 2023.09.04 |