|
|||||||||
Home >> All >> org >> enableit >> db >> [ dao overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
org.enableit.db.dao
Class Jdbc2Dao

java.lang.Objectorg.enableit.db.dao.Jdbc2Dao
- All Implemented Interfaces:
- org.enableit.db.daf.DataAbstractionFacade
- public class Jdbc2Dao
- extends java.lang.Object
- implements org.enableit.db.daf.DataAbstractionFacade
- extends java.lang.Object
Implementation of Data Access Object
backed by JDBC calls.
Since this class requires no additional metadata file to
map Bean properties to database columns, it must rely on a
naming convention in order to construct the correct SQL.
It is expected that this restriction will be acceptable for
applications where UI and function is more important than
database design, and where there is no existing database.
The convention is as follows:
- Bean name must be
Bean e.g. for a table named Task, bean name must be TaskBean. - The database key column must be named
Id, except that the initial will be lower case. - Bean properties must have the same name as the database columns they are stored in.
- Normal JavaBean conventions apply to accessor and mutator method names.
- The database key column must be named
Field Summary | |
protected java.lang.String |
dataSourceName
|
protected java.lang.String |
driverClass
|
protected static org.apache.log4j.Category |
logger
The Log4J Category doing the logging. |
protected java.lang.String |
password
|
protected java.lang.String |
url
|
protected java.lang.String |
username
|
Constructor Summary | |
Jdbc2Dao(java.lang.String dataSourceName)
Construct and configure a new instance. |
Method Summary | |
java.lang.Object |
create(java.lang.Object bean)
Create a persistent copy of the received JavaBean. |
boolean |
exists(java.lang.Object bean)
Test if the bean exists in the configured data store. |
protected java.lang.String |
getDeleteSql(java.lang.Object bean,
java.lang.String tableName,
java.lang.String keyColumn)
Returns SQL to do a delete, providing that naming convention has been observed. |
protected java.lang.String |
getFindSql(java.lang.Object bean)
Return the SQL to find a bean. |
protected java.lang.String |
getFindSql(java.lang.Object bean,
java.util.List equalityProps)
Return the SQL to find a bean. |
protected java.lang.String |
getInsertSql(java.lang.Object bean,
java.lang.String tableName)
Returns SQL to do an insert, providing that naming convention has been observed. |
protected java.lang.String |
getKeyColumn(java.lang.String tableName)
Assumes a numeric key will be named <TABLE_NAME>Id. |
protected java.sql.Connection |
getPooledConnection()
Return a connection to the database. |
protected java.lang.String |
getSelectSql(java.lang.Object bean,
java.lang.String tableName,
java.lang.String keyColumn)
Returns SQL to do a select, providing that naming convention has been observed. |
protected java.lang.String |
getTableName(java.lang.Object bean)
Returns the name of the table derived from the Bean name according to conventions. |
protected java.lang.String |
getUpdateSql(java.lang.Object bean,
java.lang.String tableName,
java.lang.String keyColumn)
Returns SQL to do an update, providing that naming convention has been observed. |
java.lang.Object |
load(java.lang.Object bean)
Load a JavaBean from the data store. |
java.lang.Object |
modify(java.lang.Object bean)
|
java.lang.Object |
remove(java.lang.Object bean)
|
private void |
setNumericKey(java.lang.String tableName,
java.lang.Object bean)
Searches bean for a property containing the table name and also ending with ID (case insensitive). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
logger
protected static org.apache.log4j.Category logger
- The Log4J
Category
doing the logging.
dataSourceName
protected java.lang.String dataSourceName
driverClass
protected java.lang.String driverClass
url
protected java.lang.String url
username
protected java.lang.String username
password
protected java.lang.String password
Constructor Detail |
Jdbc2Dao
public Jdbc2Dao(java.lang.String dataSourceName)
- Construct and configure a new instance.
Method Detail |
exists
public boolean exists(java.lang.Object bean) throws org.enableit.db.daf.QueryException
- Test if the bean exists in the configured data store.
If the bean implements
org.enableit.db.daf.ComparableBean
then the Persistent datastore will be queried for an entry that matches just those properties defined by thegetEqualityPropertyList
. Otherwise every accessible property will be used in the query.- Specified by:
exists
in interfaceorg.enableit.db.daf.DataAbstractionFacade
create
public java.lang.Object create(java.lang.Object bean) throws org.enableit.db.daf.NotPersistedException
- Create a persistent copy of the received JavaBean.
- Specified by:
create
in interfaceorg.enableit.db.daf.DataAbstractionFacade
modify
public java.lang.Object modify(java.lang.Object bean) throws org.enableit.db.daf.NotPersistedException
- Specified by:
modify
in interfaceorg.enableit.db.daf.DataAbstractionFacade
remove
public java.lang.Object remove(java.lang.Object bean) throws org.enableit.db.daf.NotPersistedException
- Specified by:
remove
in interfaceorg.enableit.db.daf.DataAbstractionFacade
load
public java.lang.Object load(java.lang.Object bean) throws org.enableit.db.daf.QueryException
- Load a JavaBean from the data store.
- Specified by:
load
in interfaceorg.enableit.db.daf.DataAbstractionFacade
getPooledConnection
protected java.sql.Connection getPooledConnection()
- Return a connection to the database.
Using this method allows pooling of connections.
getTableName
protected java.lang.String getTableName(java.lang.Object bean)
- Returns the name of the table derived from the Bean name
according to conventions. TODO detail conventions.
getKeyColumn
protected java.lang.String getKeyColumn(java.lang.String tableName)
- Assumes a numeric key will be named <TABLE_NAME>Id.
setNumericKey
private void setNumericKey(java.lang.String tableName, java.lang.Object bean) throws org.enableit.db.daf.NotPersistedException
- Searches bean for a property containing the table name
and also ending with ID (case insensitive). If found the property
will be populated using a number fountain based on table name.
getFindSql
protected java.lang.String getFindSql(java.lang.Object bean) throws org.enableit.db.daf.QueryException
- Return the SQL to find a bean.
getFindSql
protected java.lang.String getFindSql(java.lang.Object bean, java.util.List equalityProps) throws org.enableit.db.daf.QueryException
- Return the SQL to find a bean.
getInsertSql
protected java.lang.String getInsertSql(java.lang.Object bean, java.lang.String tableName) throws org.enableit.db.daf.NotPersistedException
- Returns SQL to do an insert, providing that naming
convention has been observed.
getUpdateSql
protected java.lang.String getUpdateSql(java.lang.Object bean, java.lang.String tableName, java.lang.String keyColumn) throws org.enableit.db.daf.NotPersistedException
- Returns SQL to do an update, providing that naming
convention has been observed.
getDeleteSql
protected java.lang.String getDeleteSql(java.lang.Object bean, java.lang.String tableName, java.lang.String keyColumn) throws org.enableit.db.daf.NotPersistedException
- Returns SQL to do a delete, providing that naming
convention has been observed.
getSelectSql
protected java.lang.String getSelectSql(java.lang.Object bean, java.lang.String tableName, java.lang.String keyColumn) throws org.enableit.db.daf.QueryException
- Returns SQL to do a select, providing that naming
convention has been observed.
|
|||||||||
Home >> All >> org >> enableit >> db >> [ dao overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |