当前位置:Gxlcms > mysql > 根据JavaBean生成数据库增删改查的SQL语句

根据JavaBean生成数据库增删改查的SQL语句

时间:2021-07-01 10:21:17 帮助过:20人阅读

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入 根据JavaBean生成数据库增删改查的SQL语句。 1,genInsertSQL(Object bean); 2,genUpdateSQL(Object bean); 3,genDeleteSQL(Object bean); 4,genFindAllSQL(String tableName); 5,genFindAllSQL(String

欢迎进入Java社区论坛,与200万技术人员互动交流 >>进入

根据JavaBean生成数据库增删改查的SQL语句。
1,genInsertSQL(Object bean);
2,genUpdateSQL(Object bean);
3,genDeleteSQL(Object bean);
4,genFindAllSQL(String tableName);
5,genFindAllSQL(String tableName)
import java.io.Serializable;

import java.lang.reflect.Field;

import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.Hashtable;

import java.util.List;

import com.domain.AG;

/**

* FOR JDBC RUID Operation,This class can generate SQL by parameter of

* Object(update/insert/delete)

* or Class(select)

*

*@category com.util

*@class SQLUtil

*@author zhusheng3@126.com

*@date 2008-6-7 下午04:08:40

*@see

*/

public class SQLUtil

{

private final static String database_table_prefix="database.table.prefix";

private String pkColumnName="SN";

public SQLUtil()

{

//pkColumnName is vary of Table,so mothods which need pkColumn can not use static

this.pkColumnName="SN";

}

public SQLUtil(String pkColumnName)

{

//pkColumnName is vary of Table,so mothods which need pkColumn can not use static

this.pkColumnName=pkColumnName;

}

/**

* @param Object the object for insert

* @return an insert String like below:

* insert into vmm_ag(sn,domainname,modifydate,testDouble)

* values(5,'domainname5',to_date('20080121','YYYYMMDD'),22.4)

*/

public static String genInsertSQL(Object bean)

{

List fields=BeanUtil.getFields(bean);

List values=BeanUtil.getValues2String(bean);

Hashtable fieldsTypes = BeanUtil.getFieldsAndTypes(bean);

//System.out.println("fields.size():"+fields.size()+"--values.size():"+values.size());

if(fields.size() !=values.size())

{

String error="ERROR:genInsertSQL(bean)->fields's size does not match values' size,bean:"+bean+

"\n fields.size():"+fields.size()+"--values.size():"+values.size();

System.err.println(error);

return error;

}

//get database table Name

String tableName=getTableName(bean);

String insertSQL="insert into "+tableName+" (";

for (int i = 0; i < fields.size(); i++)

{

//if value of this field is null,then ignore this field

if(values.get(i) !=null)

{

insertSQL+=fields.get(i);

//if not the last field,then add ","

if(i!=fields.size()-1)

{

insertSQL+=",";

}

}

}

insertSQL+=")";

insertSQL+="values (";

for (int j = 0; j

{

String value="";

String typeOfThisField=(String) fieldsTypes.get(fields.get(j));

if(typeOfThisField.equalsIgnoreCase("String"))

{ //when String ,add '' around the string ,like:'tempString'

value="'"+values.get(j)+"'";

}

[1] [2] [3]

人气教程排行