首页>代码>java简单实用的SQL生成器>/sql/src/com/lyj/sql/SQLBuilder.java
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();
	}
}
最近下载更多
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日
事证明实汉语不顺序看  LV2 2020年4月8日
最近浏览更多
3320151533  LV1 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  LV3 2022年12月4日
1726335210  LV2 2022年11月7日
梅梅呀  LV3 2022年7月11日
vicgong  LV4 2022年5月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友