on e) { e.printStackTrace(); } finally { DBUtil.close(rs, pstat, conn); } return listResult; } /** * 根据给出的Class对象和ID删除相应的数据 * * @param cla 给出的Class对象 * @param id 给出的ID */ public static void delete(Class cla, int id) { // 拼接SQL语句 String tableName = cla.getName().substring( cla.getName().lastIndexOf(".") + 1); String sql = new String("delete from " + tableName + " where id = "); // 连接数据库 Connection conn = null; PreparedStatement pstat = null; try { conn = DBUtil.getConnection(); pstat = conn.prepareStatement(sql); pstat.setInt(1, id); pstat.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 DBUtil.close(null, pstat, conn); } } /** * 根据给出的Class对象、条件和参数值删除相应的数据 * * @param cla 给出的Class对象 * @param where 给出的条件 * @param value 给出的条件的参数值 */ public static void delete(Class cla, String where, Object[] value) { String tableName = cla.getName().substring( cla.getName().lastIndexOf(".") + 1); StringBuffer sql = new StringBuffer("delete from " + tableName + " "); if (where != null && where.length() > 0) { sql.append(where); } // 连接数据库 Connection conn = null; PreparedStatement pstat = null; try { conn = DBUtil.getConnection(); pstat = conn.prepareStatement(sql.toString()); for (int i = 0; i < value.length; i++) { pstat.setObject(i + 1, value[i]); } pstat.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 DBUtil.close(null, pstat, conn); } } /** * 根据给出的Class对象清空相应的数据表 * * @param cla 给出的Class对象 */ public static void clear(Class cla) { String tableName = cla.getName().substring( cla.getName().lastIndexOf(".") + 1); String sql = new String("delete from " + tableName); // 连接数据库 Connection conn = null; PreparedStatement pstat = null; try { conn = DBUtil.getConnection(); pstat = conn.prepareStatement(sql.toString()); pstat.execute(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接 DBUtil.close(null, pstat, conn); } } /** * 根据给出的字段名获取相应的get方法 * * @param name 给出的字段名 * @return 返回相应字段的get方法 */ private static String getMethodName(String name) { char[] ch = name.toCharArray(); ch[0] -= 32; String str = new String(ch); return "get" + str; } /** * 根据给出的字段名获取相应的set方法 * * @param name 给出的字段名 * @return 返回相应字段的set方法 */ private static String setMethodName(String name) { char[] ch = name.toCharArray(); ch[0] -= 32; String str = new String(ch); return "set" + str; } }
|