📄 admindao.java
字号:
Statement stmt = null; ResultSet rs = null; ArrayList list = new ArrayList(); try { dbConnection = getDBConnection(); stmt = dbConnection.createStatement(); rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); while ( rs.next() ) { Hashtable element = new Hashtable(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); String fieldName = Function.format(columnName); String fieldType = ColumnType.getFieldType(Database.dbType, rsmd, i); if (fieldType == null) continue; if ("Timestamp".equals(fieldType)) { element.put(fieldName, rs.getTimestamp(columnName)); } else if ("String".equals(fieldType)) { String value = Function.readDBEncode(rs.getString(columnName)); if (value == null) value = ""; element.put(fieldName, value); } else if ("int".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getInt(columnName))); } else if ("long".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getLong(columnName))); } else if ("float".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getFloat(columnName))); } } list.add(element); } return list; } catch(SQLException e) { Debug.println(sql + "\n" + "SQLException while execute queryBySql mothod :\n" + e); throw new SysException("SQLException while execute queryBySql mothod :\n" + e); } finally { closeResultSet(rs); closeStatement(stmt); closeConnection(dbConnection); } } public static Collection queryBySql(String sql, int beginRow, int endRow) throws SysException { Connection dbConnection = null; Statement stmt = null; ResultSet rs = null; ArrayList list = new ArrayList(); try { dbConnection = getDBConnection(); stmt = dbConnection.createStatement(); rs = stmt.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int row = 0; while ( rs.next() ) { if (++row < beginRow) continue; if (row > endRow) break; Hashtable element = new Hashtable(); for (int i = 1; i <= rsmd.getColumnCount(); i++) { String columnName = rsmd.getColumnName(i); String fieldName = Function.format(columnName); String fieldType = ColumnType.getFieldType(Database.dbType, rsmd, i); if (fieldType == null) continue; if ("Timestamp".equals(fieldType)) { element.put(fieldName, rs.getTimestamp(columnName)); } else if ("String".equals(fieldType)) { String value = Function.readDBEncode(rs.getString(columnName)); if (value == null) value = ""; element.put(fieldName, value); } else if ("int".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getInt(columnName))); } else if ("long".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getLong(columnName))); } else if ("float".equals(fieldType)) { element.put(fieldName, String.valueOf(rs.getFloat(columnName))); } } list.add(element); } return list; } catch(SQLException e) { Debug.println(sql + "\n" + "SQLException while execute queryBySql mothod :\n" + e); throw new SysException("SQLException while execute queryBySql mothod :\n" + e); } finally { closeResultSet(rs); closeStatement(stmt); closeConnection(dbConnection); } } public static int getRowCountBySql(String sql) throws SysException { Connection dbConnection = null; Statement stmt = null; ResultSet rs = null; int rowCount = 0; try { dbConnection = getDBConnection(); stmt = dbConnection.createStatement(); rs = stmt.executeQuery(sql); if ( rs.next() ) { rowCount = rs.getInt(1); }else{ Debug.println(sql + "\n" + "ERROR in get row count!!"); throw new SysException("ERROR in get row count!!"); } return rowCount; } catch(SQLException e) { Debug.println(sql + "\n" + "SQLException while execute getRowCountBySql mothod :\n" + e); throw new SysException("SQLException while execute getRowCountBySql mothod :\n" + e); } finally { closeResultSet(rs); closeStatement(stmt); closeConnection(dbConnection); } } public static Collection queryAll() throws SysException { String sql = "SELECT * FROM WAP_ADMIN"; return queryBySql(sql); } public static Collection queryAll(int beginRow, int endRow) throws SysException { String sql = "SELECT * FROM WAP_ADMIN"; return queryBySql(sql, beginRow, endRow); } public static int getRowCountOfAll() throws SysException { String sql = "SELECT COUNT(*) FROM WAP_ADMIN"; return getRowCountBySql(sql); } public static AdminModel toModel(Hashtable element) { AdminModel model = new AdminModel(); model.setAdminName((String)element.get("adminName")); model.setAdminPwd((String)element.get("adminPwd")); model.setAdminArea(Integer.parseInt((String)element.get("adminArea"))); model.setAdminFlag(Integer.parseInt((String)element.get("adminFlag"))); model.setAdminStatus(Integer.parseInt((String)element.get("adminStatus"))); model.setAdminRegdate((Timestamp)element.get("adminRegdate")); return model; } public static Collection allToModel(Collection coll) { Collection value = new ArrayList(); Iterator it = coll.iterator(); while (it.hasNext()) { value.add(toModel((Hashtable)it.next())); } return value; } public static int getSequenceNextValue() throws SysException { String sql = "SELECT * FROM WAP_SEQUENCE WHERE TABLE_NAME = 'WAP_ADMIN'"; Connection dbConnection = null; Statement stmt = null; ResultSet rs = null; int lastValue = 1; try { dbConnection = getDBConnection(); stmt = dbConnection.createStatement(); rs = stmt.executeQuery(sql); if ( rs.next() ) { lastValue = rs.getInt("LAST_VALUE"); int minValue = rs.getInt("MIN_VALUE"); int maxValue = rs.getInt("MAX_VALUE"); int incrementBy = rs.getInt("INCREMENT_BY"); int cycle = rs.getInt("CYCLE"); if (lastValue < 0) { Debug.println("id last value can't smaller than 0"); throw new SysException("id last value can't smaller than 0"); } if (minValue < 0) { Debug.println("id min value can't smaller than 0"); throw new SysException("id min value can't smaller than 0"); } if (maxValue < 0) { Debug.println("id max value can't smaller than 0"); throw new SysException("id max value can't smaller than 0"); } if (incrementBy < 1) { Debug.println("id increment value can't smaller than 1"); throw new SysException("id increment value can't smaller than 1"); } if (cycle != 0 && cycle != 1) { Debug.println("id cycle value error, it can be 0 or 1 only"); throw new SysException("id cycle value error, it can be 0 or 1 only"); } if (lastValue < minValue) { Debug.println("id value is " + lastValue + ": \n" + "id value can't smaller than min value"); throw new SysException("id value can't smaller than min value"); } if (minValue >= maxValue) { Debug.println("id max value must bigger than min value"); throw new SysException("id max value must bigger than min value"); } if (lastValue > maxValue) { if (cycle == 0) { Debug.println("id value is " + lastValue + ": \n" + "id value exceeds max value"); throw new SysException("id value exceeds max value"); } else { lastValue = minValue; } } sql = "UPDATE WAP_SEQUENCE SET LAST_VALUE = " + (lastValue + incrementBy) + " WHERE TABLE_NAME = 'WAP_ADMIN'"; stmt.executeUpdate(sql); }else{ sql = "INSERT INTO WAP_SEQUENCE (TABLE_NAME, LAST_VALUE, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE) VALUES ('WAP_ADMIN', 2, 1, 999999999, 1, 1)"; stmt.executeUpdate(sql); } return lastValue; } catch(SQLException e) { Debug.println(sql + "\n" + "SQLException while execute getRowCountBySql method :\n" + e); throw new SysException("SQLException while execute getRowCountBySql method :\n" + e); } finally { closeResultSet(rs); closeStatement(stmt); closeConnection(dbConnection); } } protected static String getInsertSQL(AdminModel model) { String sql = ""; if (Database.dbType == DBType.ORACLE) { sql = "INSERT INTO WAP_ADMIN (ADMIN_NAME, ADMIN_PWD, ADMIN_AREA, ADMIN_FLAG, ADMIN_STATUS, ADMIN_REGDATE) VALUES ('" + Function.writeDBEncode(model.getAdminName()) + "', '" + Function.writeDBEncode(model.getAdminPwd()) + "', " + model.getAdminArea() + ", " + model.getAdminFlag() + ", " + model.getAdminStatus() + ", TO_DATE('" + Function.DateToString(model.getAdminRegdate()) + "', 'YYYY/MM/DD HH24:MI:SS'))"; } else if (Database.dbType == DBType.SQLSERVER) { sql = "INSERT INTO WAP_ADMIN (ADMIN_NAME, ADMIN_PWD, ADMIN_AREA, ADMIN_FLAG, ADMIN_STATUS, ADMIN_REGDATE) VALUES ('" + Function.writeDBEncode(model.getAdminName()) + "', '" + Function.writeDBEncode(model.getAdminPwd()) + "', " + model.getAdminArea() + ", " + model.getAdminFlag() + ", " + model.getAdminStatus() + ", '" + Function.DateToString(model.getAdminRegdate()) + "')"; } else if (Database.dbType == DBType.MYSQL) { sql = "INSERT INTO WAP_ADMIN (ADMIN_NAME, ADMIN_PWD, ADMIN_AREA, ADMIN_FLAG, ADMIN_STATUS, ADMIN_REGDATE) VALUES ('" + Function.writeDBEncode(model.getAdminName()) + "', '" + Function.writeDBEncode(model.getAdminPwd()) + "', " + model.getAdminArea() + ", " + model.getAdminFlag() + ", " + model.getAdminStatus() + ", '"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -