"java.sql.Date"と"LocalDate"でWeb検索すれば普通に見つかるんだが・・・。Qiitaに投稿された記事が
Like!
java11,springで日付検索の機能を作成しているのですが、
LocalDateからSQLのDate型への変換方法がわからず困っています。
わかる方がいれば教えていただきたいです。よろしくお願いします。
開発環境
java 11
spring 2.7.0
MySQL
mybatis-spring-boot-starter 2.2.2
LocalDateからSQLのDate型への変換方法
Controller
@PostMapping("/id_search")
public String search(
@Validated @ModelAttribute InventorySearchReq inventorySearchReq,
Model model) {
java.sql.Date sqlDate = (現状わかっていない部分)
List<Inventory> list = inventoryService.findByDate(sqlDate);
model.addAttribute("list", list);
model.addAttribute("在庫一覧", "タスク一覧");
return "inventory/index";
}
Entity
@Data
public class InventorySearchReq implements Serializable{
@NotNull (message = "日付を設定してください。")
@DateTimeFormat(pattern = "yyyy-MM-dd")
@PastOrPresent(message = "日付が未来に設定されています。")
private LocalDate reportDate;
}
Service
@Service
@RequiredArgsConstructor
public class InventoryServiceImpl implements InventoryService {
private final InventoryMapper inventoryMapper;
@Override
public List<Inventory> findByDate(Date sqlDate) {
return inventoryMapper.findByDate(sqlDate);
}
}
Mapper
@Mapper
public interface InventoryMapper {
@Select("SELECT * FROM inventorys INNER JOIN products ON inventorys.products_id = products.id"
+ "WHERE report_date = #{sqlDate}")
List<Inventory> findByDate(Date sqlDate);
}
文字列からsqlのデータ型への変換はjava.sql.Date.valueOf.を使用すればいいのはわかったのですが、LocalDateからStringへの方法がうまくいっていない状況です。
"java.sql.Date"と"LocalDate"でWeb検索すれば普通に見つかるんだが・・・。Qiitaに投稿された記事が
@changshangq
Questioner@changshangq
Questioner