|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectnet.java.ao.DatabaseProvider
net.java.ao.db.MySQLDatabaseProvider
public class MySQLDatabaseProvider
| Constructor Summary | |
|---|---|
MySQLDatabaseProvider(java.lang.String uri,
java.lang.String username,
java.lang.String password)
|
|
| Method Summary | |
|---|---|
protected java.lang.String |
convertTypeToString(DatabaseType<?> type)
|
java.lang.Class<? extends java.sql.Driver> |
getDriverClass()
Returns the JDBC Driver class which corresponds to the database being abstracted. |
protected java.lang.String |
renderAppend()
|
protected java.lang.String |
renderAutoIncrement()
Generates the DDL fragment required to specify an INTEGER field as auto-incremented. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public MySQLDatabaseProvider(java.lang.String uri,
java.lang.String username,
java.lang.String password)
| Method Detail |
|---|
public java.lang.Class<? extends java.sql.Driver> getDriverClass()
throws java.lang.ClassNotFoundException
DatabaseProviderReturns the JDBC Driver class which corresponds to the database being abstracted. This should be implemented in such a way as to initialize and register the driver with JDBC. For most drivers, this requires code in the following form:
public Class<? extends Driver> getDriverClass() {
return (Class<? extends Driver>) Class.forName("com.mysql.jdbc.Driver");
}
The following does not fire the driver's static initializer and thus will (usually) not work:
public Class<? extends Driver> getDriverClass() {
return com.mysql.jdbc.Driver.class;
}
If the driver is not on the classpath, a ClassNotFoundException
can and should be thrown (certain auto-magic configuration sections of
ActiveObjects depend upon this under certain circumstances).
getDriverClass in class DatabaseProviderjava.lang.ClassNotFoundExceptionprotected java.lang.String convertTypeToString(DatabaseType<?> type)
convertTypeToString in class DatabaseProviderprotected java.lang.String renderAutoIncrement()
DatabaseProviderGenerates the DDL fragment required to specify an INTEGER field as
auto-incremented. For databases which do not support such flags (which
is just about every database exception MySQL), "" is an
acceptable return value. This method should never return null
as it would cause the field rendering method to throw a NullPointerException.
This method is abstract (as opposed to the other methods which are either defined against MySQL or simply empty) because of the vast differences in rendering auto-incremented fields across different databases. Also, it seemed like a terribly good idea at the time and I haven't found a compelling reason to change it.
renderAutoIncrement in class DatabaseProviderprotected java.lang.String renderAppend()
renderAppend in class DatabaseProvider
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||