jdbc编程中,最麻烦的是拼sql语句,尤其是字段太多的时候,如果可以有个可以自动生成sql的方法该有多好,于是就写了一个方法,简化后发上来,哈哈。。
Map<String,String> request=.....//请求过来的字段值
//对应数据库中的字段值
Map<String,String> map=new HashMap<String,String>();
map.put("id","int");
map.put("name1","string");
map.put("address","string");
int total=map.size();
int count=0;
Iterator it=map.keySet().iterator();
while(it.hasNext())
{
String key=(String) it.next();
++count;
if(request.containsKey(key))
{
if(map.get(key).equals("int"))
{
if(it.hasNext||count==total){
column+=",";
value+=",";
}
column+=key;
value+=request.get(key.toLowerCase());
}
if(map.get(key).equals("string"))
{
if(request.get(key)!=null)
{
i(it.hasNext||count==total){
column+=",";
value+=",";
}
column+=key;
value+="'"+request.get(key)+"'";
}
String sql="insert into table("+column+") values("+value+")";
Map<String,String> request=.....//请求过来的字段值
//对应数据库中的字段值
Map<String,String> map=new HashMap<String,String>();
map.put("id","int");
map.put("name1","string");
map.put("address","string");
int total=map.size();
int count=0;
Iterator it=map.keySet().iterator();
while(it.hasNext())
{
String key=(String) it.next();
++count;
if(request.containsKey(key))
{
if(map.get(key).equals("int"))
{
if(it.hasNext||count==total){
column+=",";
value+=",";
}
column+=key;
value+=request.get(key.toLowerCase());
}
if(map.get(key).equals("string"))
{
if(request.get(key)!=null)
{
i(it.hasNext||count==total){
column+=",";
value+=",";
}
column+=key;
value+="'"+request.get(key)+"'";
}
String sql="insert into table("+column+") values("+value+")";