package com.frameworkset.common.tag.pager.db;
import java.sql.SQLException;
import javax.servlet.jsp.JspException;
import com.frameworkset.common.poolman.SQLExecutor;
import com.frameworkset.common.tag.BaseTag;
/**
*
* <p>Title: BatchUtilTag.java</p>
* <p>Description: </p>
* <p>bboss workgroup</p>
* <p>Copyright (c) 2008</p>
* @Date 2010-3-13
* @author biaoping.yin
* @version 1.0
*/
public class BatchUtilTag extends BaseTag {
protected String dbname;
protected String type=SQLExecutor.BATCH_PREPARED;
protected SQLExecutor sqlExecutor;
/**
* 是否需要对预编译批处理进行优化,如果需要则对所有的batchparams按照sql语句是否相同进行排序
* 如果语句相同则放到一起,这样避免出现同一条sql语句存在多个preparedstatement句柄
* 默认不排序,否则排序
*/
protected boolean batchOptimize = false;
/**
*
*/
private static final long serialVersionUID = 7725636392877287693L;
@Override
public int doEndTag() throws JspException {
try {
if(sqlExecutor != null)
sqlExecutor.execute();
} catch (SQLException e) {
throw new JspException(e);
}
dbname = null;
type=SQLExecutor.BATCH_PREPARED;
sqlExecutor = null;
batchOptimize = false;
return EVAL_PAGE;
}
@Override
public int doStartTag() throws JspException {
sqlExecutor = new SQLExecutor();
sqlExecutor.setBatchDBName(dbname);
sqlExecutor.setBatchOptimize( batchOptimize);
sqlExecutor.setBatchtype(type);
return EVAL_BODY_INCLUDE;
}
public String getDbname() {
return dbname;
}
public void setDbname(String dbname) {
this.dbname = dbname;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public SQLExecutor getSQLExecutor() {
return this.sqlExecutor;
}
public boolean isBatchOptimize() {
return batchOptimize;
}
public void setBatchOptimize(boolean batchOptimize) {
this.batchOptimize = batchOptimize;
}
}