/** *把插入的數據封裝到一個對象裏面 */ public static boolean insert(String table,Object obj){ try { // 用於拼sql StringBuilder sb=new StringBuilder(); Class cls=obj.getClass(); //獲取字段 Field[] fields= cls.getDeclaredFields(); Map<String,Object>map=new HashMap<>(); // 拿到字段對應的值,而且放入map中 for(Field f:fields){ f.setAccessible(true); String key=f.getName(); Object value=f.get(obj); if(value!=null) { map.put(key, value); } } //拼接sql sb.append("insert into "+table+"("); List<String> key=new ArrayList<>(); for(Map.Entry<String,Object> m:map.entrySet()){ key.add(m.getKey()); } for(int i=0;i<key.size()-1;i++){ sb.append(key.get(i)+","); } sb.append(key.get(key.size()-1)+") values("); for(int i=0;i<key.size()-1;i++){ sb.append("? , "); } sb.append("? )"); Connection conn = getConnection(); PreparedStatement ps=conn.prepareStatement(sb.toString()); // insert ....values(?,?,?) 給站位符賦值 for(int i=0;i<key.size();i++) { ps.setObject(i+1,key.get(i)); } int result= ps.executeUpdate(); return true?false:result>0; }catch (Exception e){ e.printStackTrace(); } return false; }