package com.lyj.sql;
import com.lyj.bean.SuperBean;
/**
* SQL生成器
* @author LYJ
*
*/
public final class SQLBuilder {
/**
* 生成select 语句
* @param sbn
* @return
*/
public final static String selectSQL(SuperBean sbn,String where){
final StringBuilder sqlBuilder=new StringBuilder("SELECT\t");
final String[]names=sbn.getAttNames();
for(String name:names){
sqlBuilder.append(name+"\t");
if(name!=names[names.length-1])
sqlBuilder.append(",");
}
sqlBuilder.append("FROM "+sbn.getTableName());
return sqlBuilder.toString();
}
/**
* 生成update 语句
* @param sbn bean 对象
* @return
*/
public final static String updateSQL(SuperBean sbn,String where){
if(where==null){
return "";
}
final StringBuilder sqlBuilder=new StringBuilder("UPDATE\t"+getTableName(sbn));
sqlBuilder.append(" SET "+where);
return sqlBuilder.toString();
}
/**
* 生成delete语句
* @param sbn
* @param where where条件
* @return
*/
public static String deleteSQL(SuperBean sbn,String where){
final StringBuilder sqlBuilder=new StringBuilder("DELETE FROM "+getTableName(sbn));
sqlBuilder.append(where);
return sqlBuilder.toString();
}
/**
* 生成insert 语句
* @param sbn
* @return
*/
public final static String insertSQL(SuperBean sbn){
final StringBuilder sqlBuilder=new StringBuilder(" INSERT INTO ");
sqlBuilder.append(sbn.getTableName()+"\t");
sqlBuilder.append("(");
final String[]names=sbn.getAttNames();
/*********************插入的属性*****************************/
for(String name:names){
sqlBuilder.append(name);
if(name!=names[names.length-1])
sqlBuilder.append(",");
}
sqlBuilder.append(")");
/*************插入的值**************************************/
sqlBuilder.append(" VALUES(");
for(String name:names){
sqlBuilder.append('"');
try {
sqlBuilder.append(sbn.getAttributeValue(name)==null?"":sbn.getAttributeValue(name).toString());
} catch (Exception e) {
e.printStackTrace();
}
sqlBuilder.append('"');
if(name!=names[names.length-1])
sqlBuilder.append(",");
}
sqlBuilder.append(")");
return sqlBuilder.toString();
}
private static String getTableName(SuperBean sbn){
return sbn.getTableName();
}
}
最近下载更多
zhong_admin LV1
2024年4月27日
skiler LV4
2023年6月6日
vicgong LV4
2022年5月23日
billzw LV6
2022年2月13日
dsafdsaf LV7
2021年12月29日
mugege123 LV6
2020年12月23日
dongxuan5831 LV1
2020年12月10日
lxd_admin LV3
2020年6月9日
cnflian LV2
2020年5月21日
wuyiqun LV2
2020年4月30日
最近浏览更多
3334004690 LV11
3月8日
hui432825 LV2
2024年9月15日
zhong_admin LV1
2024年4月27日
3320151533 LV1
2024年1月7日
cuihongmin LV1
2023年6月16日
skiler LV4
2023年6月6日
zhuaidan
2023年2月10日
暂无贡献等级
微信网友_6258245891903488 LV7
2023年1月2日
uni-code_0123 LV1
2022年12月5日
ilovecode521 LV6
2022年12月4日

