如果你喜欢用hibernate或者preparedstatement的set参数方法,那基本不用看这个,如果你喜欢写纯sql,那么可以参考一下以下这个方法:
应用场景为传入参数的判断,比如
String sql=”select * from tablea where 1=1 and param=”;
并不知道param传入的参数是什么类型时判断。
/**
*
* @方法名 SqlType
* @路径 wrpolicy.com.reitgn.project.util.SqlType
* @作者 wangrui
* @描述 判断传入的值类型,并返回是否带单引号,主要用在SQL语句拼接
* @param obj
* @return
* @时间 2017年4月23日 下午12:01:54
*
*/
public static String SqlType(Object obj){
String res=null;
if(obj!=null&&!obj.equals("")){
if(obj.getClass()==Integer.class||obj.getClass()==Double.class||obj.getClass()==Float.class||obj.getClass()==Long.class){
res=""+obj;
}else if(obj.getClass()==String.class){
res="'"+(String)obj+"'";
}else if(obj.getClass()==Timestamp.class){
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
String str = df.format(obj);
res="'"+str+"'";
}
}
// System.out.println(res);
return res;
}