abstractroadinspectiondaojdbc.java
来自「Java的框架」· Java 代码 · 共 182 行
JAVA
182 行
package mcaps.apps.prrm.roadinspection.dao.jdbc;
import java.util.List;
import mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO;
import mcaps.apps.prrm.roadinspection.dao.jdbc.query.RoadInspectionByIdQuery;
import mcaps.apps.prrm.roadinspection.dao.jdbc.query.RoadInspectionInsert;
import mcaps.apps.prrm.roadinspection.dao.jdbc.query.RoadInspectionQuery;
import mcaps.apps.prrm.roadinspection.dao.jdbc.query.RoadInspectionUpdate;
import mcaps.apps.prrm.roadinspection.dao.util.RoadInspectionField;
import mcaps.apps.prrm.roadinspection.dao.util.RoadInspectionQueryUtil;
import mcaps.apps.prrm.roadinspection.model.RoadInspection;
import mcap.core.base.dao.jdbc.SQLDelete;
import mcap.core.base.dao.util.SortOrder;
import mcap.core.base.model.BaseTimeObject;
import mcaps.apps.prrm.util.TableNameConstants;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.support.JdbcDaoSupport;
import org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer;
/**
* This class provides the abstract dao implementation for road inspection using
* JDBC. The dao operation like query, insert, update, delete, archive and purge
* are supported.
*
* @author jov
* @date Oct 20, 2005
* @version 1.0.1.0
*/
public abstract class AbstractRoadInspectionDAOJdbc extends JdbcDaoSupport implements RoadInspectionDAO {
//Static Query
private RoadInspectionQuery roadInspectionQuery;
private RoadInspectionByIdQuery roadInspectionByIdQuery;
private RoadInspectionInsert roadInspectionInsert;
private RoadInspectionUpdate roadInspectionUpdate;
private SQLDelete roadInspectionDelete;
//Data Incrementer
private DataFieldMaxValueIncrementer roadInspectionIncrementer;
/* (non-Javadoc)
* @see org.springframework.dao.support.DaoSupport#initDao()
*/
public void initDao() {
this.roadInspectionQuery = new RoadInspectionQuery(
getDataSource(),
new int[]{RoadInspectionField.CREATIONTIME,RoadInspectionField.SEVERITY},
new SortOrder[]{SortOrder.ASCENDING,SortOrder.ASCENDING}
);
this.roadInspectionByIdQuery = new RoadInspectionByIdQuery(getDataSource(),RoadInspectionField.ID,SortOrder.ASCENDING);
this.roadInspectionInsert = new RoadInspectionInsert(getDataSource());
this.roadInspectionInsert.setIncrementer(this.roadInspectionIncrementer);
this.roadInspectionUpdate = new RoadInspectionUpdate(getDataSource());
initRoadInspectionDelete();
}
//========================================================================================
/**
* Initialise the static query object for road inspection delete operation.
*/
private void initRoadInspectionDelete(){
String roadInspectionTable = TableNameConstants.ROADINSPECTION_TABLENAME;
String whereClause = null;
StringBuffer sb = new StringBuffer();
int paramTypes[] = null;
sb = new StringBuffer();
sb.append(RoadInspectionField.FIELDS[RoadInspectionField.ID]).append(" ")
.append("= ?");
whereClause = sb.toString();
paramTypes = new int[]{
RoadInspectionField.FIELDTYPES[RoadInspectionField.ID]};
roadInspectionDelete = new SQLDelete(getDataSource(),roadInspectionTable,
whereClause,paramTypes);
}
//=====================================================================================================
// DATA INCREMENTER
//=====================================================================================================
/**
* Sets the roadInspectionIncrementer.
* @param roadInspectionIncrementer The roadInspection incrementer to set.
*/
public void setRoadInspectionIncrementer(DataFieldMaxValueIncrementer roadInspectionIncrementer){
this.roadInspectionIncrementer = roadInspectionIncrementer;
}
//=====================================================================================================
// OPERATION METHODS, IMPLEMENTING THE ROADDEFECTDAO INTERFACE
//=====================================================================================================
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getRoadInspection(java.lang.Integer)
*/
public RoadInspection getRoadInspection(Integer roadInspectionID) throws DataAccessException {
Object[] params = new Object[]{roadInspectionID};
List roadInspectionList = roadInspectionByIdQuery.execute(params);
if(roadInspectionList.size() > 0) {
RoadInspection roadInspection = (RoadInspection)roadInspectionList.get(0);
return roadInspection;
}
return null;
}
//========================================================================================
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getAllRoadInspections()
*/
public List getAllRoadInspections() throws DataAccessException {
return roadInspectionQuery.execute();
}
//========================================================================================
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#getRoadInspections(mcaps.apps.prrm.roadinspection.model.RoadInspection)
*/
public List getRoadInspections(RoadInspection roadInspection) throws DataAccessException {
Object[] obj = RoadInspectionQueryUtil.getWhereClauseAndParameterTypes(roadInspection);
Object[] params = RoadInspectionQueryUtil.getParameters(roadInspection);
RoadInspectionQuery roadInspectionQuery = new RoadInspectionQuery(getDataSource(),(String)obj[0],(int[])obj[1]);
return roadInspectionQuery.execute(params);
}
//========================================================================================
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#saveRoadInspection(mcaps.apps.prrm.roadinspection.model.RoadInspection)
*/
public void saveRoadInspection(RoadInspection roadInspection) throws DataAccessException {
if (roadInspection.isNew()){
roadInspectionInsert.insert(roadInspection);
}else{
roadInspectionUpdate.update(roadInspection);
}
}
//========================================================================================
/* (non-Javadoc)
* @see mcaps.apps.prrm.roadinspection.dao.RoadInspectionDAO#removeRoadInspection(java.lang.Integer)
*/
public void removeRoadInspection(RoadInspection roadInspection) throws DataAccessException {
roadInspectionDelete.delete(new Object[]{roadInspection.getId()});
}
//========================================================================================
/**
* Retrieve and set the identity for the given entity,
* assuming that the last executed insert affected that entity
* and generated an auto-increment value for it.
* @param entity the entity object to retrieved the id for
* @see #getIdentityQuery
*/
protected void retrieveIdentity(BaseTimeObject entity) {
entity.setId(new Integer(getJdbcTemplate().queryForInt(getIdentityQuery())));
}
//========================================================================================
/**
* Return the identity query for the particular database:
* a query that can be used to retrieve the id of a row
* that has just been inserted.
* @return the identity query
*/
protected abstract String getIdentityQuery();
//========================================================================================
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?