📄 menudao.java
字号:
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_MENU"; return queryBySql(sql); } public static Collection queryAll(int beginRow, int endRow) throws SysException { String sql = "SELECT * FROM WAP_MENU"; return queryBySql(sql, beginRow, endRow); } public static int getRowCountOfAll() throws SysException { String sql = "SELECT COUNT(*) FROM WAP_MENU"; return getRowCountBySql(sql); } public static MenuModel toModel(Hashtable element) { MenuModel model = new MenuModel(); model.setMenuId(Integer.parseInt((String)element.get("menuId"))); model.setImgId(Integer.parseInt((String)element.get("imgId"))); model.setMenuParent(Integer.parseInt((String)element.get("menuParent"))); model.setMenuChannel(Integer.parseInt((String)element.get("menuChannel"))); model.setMenuName((String)element.get("menuName")); model.setMenuAreacode(Integer.parseInt((String)element.get("menuAreacode"))); model.setMenuVisible(Integer.parseInt((String)element.get("menuVisible"))); model.setAdName((String)element.get("adName")); model.setAdContent((String)element.get("adContent")); model.setAdUrl((String)element.get("adUrl")); model.setAdState(Integer.parseInt((String)element.get("adState"))); model.setOrderId(Integer.parseInt((String)element.get("orderId"))); 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_MENU'"; 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_MENU'"; stmt.executeUpdate(sql); }else{ sql = "INSERT INTO WAP_SEQUENCE (TABLE_NAME, LAST_VALUE, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE) VALUES ('WAP_MENU', 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(MenuModel model) { String sql = ""; if (Database.dbType == DBType.ORACLE) { sql = "INSERT INTO WAP_MENU (MENU_ID, IMG_ID, MENU_PARENT, MENU_CHANNEL, MENU_NAME, MENU_AREACODE, MENU_VISIBLE, AD_NAME, AD_CONTENT, AD_URL, AD_STATE, ORDER_ID) VALUES (" + model.getMenuId() + ", " + model.getImgId() + ", " + model.getMenuParent() + ", " + model.getMenuChannel() + ", '" + Function.writeDBEncode(model.getMenuName()) + "', " + model.getMenuAreacode() + ", " + model.getMenuVisible() + ", '" + Function.writeDBEncode(model.getAdName()) + "', '" + Function.writeDBEncode(model.getAdContent()) + "', '" + Function.writeDBEncode(model.getAdUrl()) + "', " + model.getAdState() + ", " + model.getOrderId() + ")"; } else if (Database.dbType == DBType.SQLSERVER) { sql = "INSERT INTO WAP_MENU (MENU_ID, IMG_ID, MENU_PARENT, MENU_CHANNEL, MENU_NAME, MENU_AREACODE, MENU_VISIBLE, AD_NAME, AD_CONTENT, AD_URL, AD_STATE, ORDER_ID) VALUES (" + model.getMenuId() + ", " + model.getImgId() + ", " + model.getMenuParent() + ", " + model.getMenuChannel() + ", '" + Function.writeDBEncode(model.getMenuName()) + "', " + model.getMenuAreacode() + ", " + model.getMenuVisible() + ", '" + Function.writeDBEncode(model.getAdName()) + "', '" + Function.writeDBEncode(model.getAdContent()) + "', '" + Function.writeDBEncode(model.getAdUrl()) + "', " + model.getAdState() + ", " + model.getOrderId() + ")"; } else if (Database.dbType == DBType.MYSQL) { sql = "INSERT INTO WAP_MENU (MENU_ID, IMG_ID, MENU_PARENT, MENU_CHANNEL, MENU_NAME, MENU_AREACODE, MENU_VISIBLE, AD_NAME, AD_CONTENT, AD_URL, AD_STATE, ORDER_ID) VALUES (" + model.getMenuId() + ", " + model.getImgId() + ", " + model.getMenuParent() + ", " + model.getMenuChannel() + ", '" + Function.writeDBEncode(model.getMenuName()) + "', " + model.getMenuAreacode() + ", " + model.getMenuVisible() + ", '" + Function.writeDBEncode(model.getAdName()) + "', '" + Function.writeDBEncode(model.getAdContent()) + "', '" + Function.writeDBEncode(model.getAdUrl()) + "', " + model.getAdState() + ", " + model.getOrderId() + ")"; } return sql; } protected static String getUpdateSQL(MenuModel model) { String sql = ""; if (Database.dbType == DBType.ORACLE) { sql = "UPDATE WAP_MENU SET IMG_ID = " + model.getImgId() + ", MENU_PARENT = " + model.getMenuParent() + ", MENU_CHANNEL = " + model.getMenuChannel() + ", MENU_NAME = '" + Function.writeDBEncode(model.getMenuName()) + "', MENU_AREACODE = " + model.getMenuAreacode() + ", MENU_VISIBLE = " + model.getMenuVisible() + ", AD_NAME = '" + Function.writeDBEncode(model.getAdName()) + "', AD_CONTENT = '" + Function.writeDBEncode(model.getAdContent()) + "', AD_URL = '" + Function.writeDBEncode(model.getAdUrl()) + "', AD_STATE = " + model.getAdState() + ", ORDER_ID = " + model.getOrderId() + " WHERE MENU_ID = " + model.getMenuId(); } else if (Database.dbType == DBType.SQLSERVER) { sql = "UPDATE WAP_MENU SET IMG_ID = " + model.getImgId() + ", MENU_PARENT = " + model.getMenuParent() + ", MENU_CHANNEL = " + model.getMenuChannel() + ", MENU_NAME = '" + Function.writeDBEncode(model.getMenuName()) + "', MENU_AREACODE = " + model.getMenuAreacode() + ", MENU_VISIBLE = " + model.getMenuVisible() + ", AD_NAME = '" + Function.writeDBEncode(model.getAdName()) + "', AD_CONTENT = '" + Function.writeDBEncode(model.getAdContent()) + "', AD_URL = '" + Function.writeDBEncode(model.getAdUrl()) + "', AD_STATE = " + model.getAdState() + ", ORDER_ID = " + model.getOrderId() + " WHERE MENU_ID = " + model.getMenuId(); } else if (Database.dbType == DBType.MYSQL) { sql = "UPDATE WAP_MENU SET IMG_ID = " + model.getImgId() + ", MENU_PARENT = " + model.getMenuParent() + ", MENU_CHANNEL = " + model.getMenuChannel() + ", MENU_NAME = '" + Function.writeDBEncode(model.getMenuName()) + "', MENU_AREACODE = " + model.getMenuAreacode() + ", MENU_VISIBLE = " + model.getMenuVisible() + ", AD_NAME = '" + Function.writeDBEncode(model.getAdName()) + "', AD_CONTENT = '" + Function.writeDBEncode(model.getAdContent()) + "', AD_URL = '" + Function.writeDBEncode(model.getAdUrl()) + "', AD_STATE = " + model.getAdState() + ", ORDER_ID = " + model.getOrderId() + " WHERE MENU_ID = " + model.getMenuId(); } return sql; } protected static String getDeleteSQL(int menuId) { String sql = ""; if (Database.dbType == DBType.ORACLE) { sql = "DELETE FROM WAP_MENU WHERE MENU_ID = " + menuId; } else if (Database.dbType == DBType.SQLSERVER) { sql = "DELETE FROM WAP_MENU WHERE MENU_ID = " + menuId; } else if (Database.dbType == DBType.MYSQL) { sql = "DELETE FROM WAP_MENU WHERE MENU_ID = " + menuId;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -