Open aadrian opened 7 years ago
Hi,
I used Mirage-SQL for the first time recently, but I really like it.
What do you think about Date and Time API (JSR 310)?
It's not difficult because it's just adding some ValueTypes
of java.time.LocalDate
, java.time.LocalDateTime
and so on.
Here's my sample codes. https://github.com/MasatoshiTada/mirage-sql-sample/blob/master/src/main/java/com/example/valuetype/LocalDateValueType.java https://github.com/MasatoshiTada/mirage-sql-sample/blob/master/src/main/java/com/example/entity/Employee.java#L9
However, I think there are two ways to achieve this (like below).
ValueTypes
to mirage
module.ValueTypes
as separated module such as mirage-valuetypes-jsr310
.Which is better do you think?
If I can, I'd like to send PR about this matter.
Just adding new ValueTypes to mirage module.
Looks good. What do you think? @aadrian
@MasatoshiTada I think "way 1" is better.
Unfortunately not all JDBC drivers support JSR310 yet: most notably and incredibly: the Oracle DB one :( - so I think that dialect specific handling would also might be needed.
Currently we have no tests (integration) for each dialect :( . Something with https://github.com/flapdoodle-oss/de.flapdoodle.embed.process might be a good start.
Thank you for your comments!
Unfortunately not all JDBC drivers support JSR310 yet
Does this mean "resultSet.getObject(columnName, LocalDate.class)
throws Exception"?
I think it is no problem if we write like below;
Date date = resultSet.getDate(columnName);
LocalDate localDate = date.toLocalDate();
MyBatis's TypeHandlers
use this way.
https://github.com/mybatis/typehandlers-jsr310/tree/master/src/main/java/org/apache/ibatis/type
Add Java 8 JSR 310 compatibility.