
com.nfwork.dbfound.model.bean.WhenSql Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dbfound Show documentation
Show all versions of dbfound Show documentation
dbfound development platform
package com.nfwork.dbfound.model.bean;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import com.nfwork.dbfound.core.Context;
import com.nfwork.dbfound.db.dialect.SqlDialect;
import com.nfwork.dbfound.exception.DBFoundRuntimeException;
import com.nfwork.dbfound.exception.DSqlNotSupportException;
import com.nfwork.dbfound.exception.SqlExecuteException;
import com.nfwork.dbfound.model.dsql.DSqlConfig;
import com.nfwork.dbfound.model.dsql.DSqlEngine;
import com.nfwork.dbfound.util.DBUtil;
import com.nfwork.dbfound.util.DataUtil;
import com.nfwork.dbfound.util.StringUtil;
public class WhenSql extends Sqls {
private String when;
private String initError;
private boolean useDSql = false;
private OtherwiseSql otherwiseSql;
@Override
public void doEndTag() {
super.doEndTag();
if(DataUtil.isNull(when)){
initError = "WhenSql attribute when can not be null";
return;
}
when = StringUtil.sqlFullTrim(when);
useDSql = !when.toLowerCase().contains("select ");
autoCreateParam(when,this);
}
@Override
public void execute(Context context, Map params,
String provideName) {
if(initError != null){
throw new DBFoundRuntimeException(initError);
}
// 执行相应操作
if (fitWhen(context, params, provideName)) {
for (SqlEntity sql : sqlList) {
sql.execute(context, params, provideName);
}
}else{
if(otherwiseSql != null){
otherwiseSql.execute(context,params,provideName);
}
}
}
// 判定条件是否成立
private boolean fitWhen(Context context, Map params,String provideName) {
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy