diff --git a/src/main/java/com/upsolver/datasources/jdbc/querybuilders/MysqlQueryDialect.java b/src/main/java/com/upsolver/datasources/jdbc/querybuilders/MysqlQueryDialect.java new file mode 100644 index 0000000..ab3e2b4 --- /dev/null +++ b/src/main/java/com/upsolver/datasources/jdbc/querybuilders/MysqlQueryDialect.java @@ -0,0 +1,24 @@ +package com.upsolver.datasources.jdbc.querybuilders; + +import com.upsolver.datasources.jdbc.utils.ThrowingBiFunction; + +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Types; +import java.util.HashMap; +import java.util.Map; +import java.util.TimeZone; + +public class MysqlQueryDialect extends DefaultQueryDialect { + + protected static final Map> additionalGetter = new HashMap<>(); + + static { + additionalGetter.put(Types.TIME, getString); + } + + public MysqlQueryDialect(boolean keepType) { + super(keepType, additionalGetter); + } +} diff --git a/src/main/java/com/upsolver/datasources/jdbc/querybuilders/QueryDialectProvider.java b/src/main/java/com/upsolver/datasources/jdbc/querybuilders/QueryDialectProvider.java index ddf8990..04c6146 100644 --- a/src/main/java/com/upsolver/datasources/jdbc/querybuilders/QueryDialectProvider.java +++ b/src/main/java/com/upsolver/datasources/jdbc/querybuilders/QueryDialectProvider.java @@ -16,6 +16,8 @@ public static QueryDialect forConnection(String connectionString, boolean keepTy return new PostgreSqlQueryDialect(keepTypes); } else if (connStr.startsWith("jdbc:snowflake")) { return new SnowflakeQueryDialect(keepTypes); + } else if (connStr.startsWith("jdbc:mysql")) { + new MysqlQueryDialect(keepTypes); } return new DefaultQueryDialect(keepTypes, Collections.emptyMap()); }