taskinsert.java
来自「Java的框架」· Java 代码 · 共 119 行
JAVA
119 行
package mcaps.apps.prrm.task.dao.jdbc.query;
import mcaps.apps.prrm.task.dao.util.TaskField;
import mcaps.apps.prrm.task.model.Task;
import mcaps.apps.prrm.util.TableNameConstants;
import javax.sql.DataSource;
import org.springframework.jdbc.object.SqlUpdate;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.support.incrementer.DataFieldMaxValueIncrementer;
/**
* This class extends SqlUpdate to perform JDBC Insert
* operation to the task table. This class is
* used to set the precompiled INSERT SQL statement and
* to execute the INSERT SQL statement.
*
* @author jov
* @date Sep 23, 2005
* @version 1.0.1.0
*/
public class TaskInsert extends SqlUpdate {
private DataFieldMaxValueIncrementer incrementer;
/**
* Default constructor that accepts a datasource object to allow
* the connection to the database for insert operation.
* @param ds the datasource object
*/
public TaskInsert(DataSource ds){
setDataSource(ds);
setDefaultParameterTypes();
String sql = getDefaultSQL();
setSql(sql);
compile();
}
/**
* Sets the incrementer.
* @param incrementer The incrementer to set.
*/
public void setIncrementer(DataFieldMaxValueIncrementer incrementer){
this.incrementer = incrementer;
}
/**
* Execute the JDBC insert operation using the values as
* in the contact object
* @param contact the object the holds the field values to be inserted
* @return returns the id in which created for the newly
* inserted record
*/
public Integer insert(Task task){
// TODO Exception code If not initialized throw excp
Integer id = new Integer(incrementer.nextIntValue());
Object[] paramValues = new Object[]{
id,
task.getCategory(),
task.getPriority(),
task.getStatus(),
task.getRemarks(),
task.getAssignedUserId(),
task.getRoadDefectId(),
task.getDueDate(),
task.getCreationTime(),
task.getLastModifiedTime()
};
super.update(paramValues);
task.setId(id);
return id;
}
/**
* Generates the defact SQL statement.
* @return the default sql statement.
*/
private String getDefaultSQL(){
StringBuffer sb = new StringBuffer();
sb.append("INSERT INTO ")
.append(TableNameConstants.TASK_TABLENAME)
.append(" (");
int fieldNum = TaskField.MAX;
for (int i = 0; i<=fieldNum; i++){
sb.append(TaskField.FIELDS[i]);
if (i < fieldNum){
sb.append(", ");
}
}
sb.append(") ")
.append("VALUES ")
.append("(");
for (int i = 0; i<=fieldNum; i++){
sb.append("?");
if (i < fieldNum){
sb.append(", ");
}
}
sb.append(")");
return sb.toString();
}
/**
* Sets the default parameter types.
*/
protected void setDefaultParameterTypes(){
for (int i=0; i <= TaskField.MAX; i++){
declareParameter(new SqlParameter(TaskField.FIELDTYPES[i]));
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?