Skip to content

Commit ddd9419

Browse files
authored
Merge pull request #227 from domaframework/fix/jdbc-driver
Fix JDBC driver loading issues
2 parents 1eadafe + 5e50cf9 commit ddd9419

File tree

2 files changed

+4
-7
lines changed

2 files changed

+4
-7
lines changed

codegen/src/main/java/org/seasar/doma/gradle/codegen/jdbc/SimpleDataSource.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import java.util.Properties;
1010
import java.util.logging.Logger;
1111
import javax.sql.DataSource;
12-
import org.seasar.doma.gradle.codegen.exception.CodeGenException;
1312
import org.seasar.doma.gradle.codegen.message.Message;
1413

1514
public class SimpleDataSource implements DataSource {
@@ -32,11 +31,6 @@ public Driver getDriver() {
3231

3332
public void setDriver(Driver driver) {
3433
this.driver = driver;
35-
try {
36-
DriverManager.registerDriver(driver);
37-
} catch (SQLException e) {
38-
throw new CodeGenException(Message.DOMAGEN9001, e, e);
39-
}
4034
}
4135

4236
public String getUrl() {
@@ -108,6 +102,9 @@ protected Connection getConnectionInternal(Properties info) throws SQLException
108102
throw new SQLException(Message.DOMAGEN5002.getMessage());
109103
}
110104
try {
105+
if (driver != null) {
106+
return driver.connect(url, info);
107+
}
111108
return DriverManager.getConnection(url, info);
112109
} catch (SQLException e) {
113110
if (UNABLE_TO_ESTABLISH_CONNECTION.equals(e.getSQLState())) {

codegen/src/main/java/org/seasar/doma/gradle/codegen/util/ClassUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public static Class<?> forName(String className, String propertyName) {
9494
public static Class<?> forName(String className, String propertyName, ClassLoader classLoader) {
9595
AssertionUtil.assertNotNull(className, propertyName, classLoader);
9696
try {
97-
return classLoader.loadClass(className);
97+
return Class.forName(className, true, classLoader);
9898
} catch (ClassNotFoundException e) {
9999
throw new CodeGenException(Message.DOMAGEN0033, propertyName, className, e);
100100
}

0 commit comments

Comments
 (0)