之前是做.net的。转到java以后,发现很多问题,还有一些不便之处。但是我们可以自己动手。
public int exesql(String sql,Object[] param) throws SQLException, ClassNotFoundException{
getConnection();
PreparedStatement pstmt=this.conn.prepareStatement(sql);
for(int i=0;i<param.length;i++){
String s=param[i].getClass().toString();
if(s.equals("class java.lang.String")){
pstmt.setString(i+1, param[i].toString());
}else if(s.equals("class java.lang.Integer")){
pstmt.setFloat(i+1, Float.parseFloat(param[i].toString()));
}
else if(s.equals("class java.lang.Long")){
pstmt.setLong(i+1, Long.parseLong(param[i].toString()));
}
else if(s.equals("class java.lang.Float")){
pstmt.setFloat(i+1, Long.parseLong(param[i].toString()));
}
else if(s.equals("class java.util.Date")){
pstmt.setDate(i+1, new java.sql.Date(((java.util.Date)param[i]).getTime()));
}
else if(s.equals("class java.lang.Double")){
pstmt.setDouble(i+1, Double.parseDouble(param[i].toString()));
}
}
//pstmt.setdo
return pstmt.executeUpdate();
}
实例:
String sql="insert into feel (title,ip,userid,createtime)values(?,?,?,?)";
Object[] param=new Object[4];
param[0]="祖国美好";
param[1]="127.0.0.1";
param[2]="12";
param[3]=new Date();
XXX.exesql(sqlparam);