package updateCommon;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class CommonUpdate {
/**
* author: YSM
* <p>Title: update</p>
* <p>Description: 更新数据库表,共通方法</p>
* @param updateMap 需要更新的字段
* @param qualificationMap 更新条件
* @param tableName 更新的表名
*/
public static void update(Map<String, String> updateMap, Map<String, String> qualificationMap, String tableName) {
Set<String> updateSet = updateMap.keySet();
Iterator<String> updateIt = updateSet.iterator();
String updateKey = null;
StringBuffer updateSql = new StringBuffer("");
while (updateIt.hasNext()) {
updateKey = updateIt.next();
String[] tempStr = dealKeyAndValueByDataType(updateKey, updateMap);
updateSql.append(tempStr[0]);
updateSql.append(" = ");
updateSql.append(tempStr[1]);
if (updateIt.hasNext()) {
updateSql.append(" , ");
}
}
Set<String> qualificationSet = qualificationMap.keySet();
Iterator<String> qualificationIt = qualificationSet.iterator();
StringBuffer qualificationSql = new StringBuffer("");
String qualificationKey = null;
if (qualificationIt.hasNext()) {
qualificationSql.append(" where ");
}
while (qualificationIt.hasNext()) {
qualificationKey = qualificationIt.next();
String[] tempStr = dealKeyAndValueByDataType(qualificationKey, qualificationMap);
qualificationSql.append(tempStr[0]);
qualificationSql.append(" = ");
qualificationSql.append(tempStr[1]);
if (qualificationIt.hasNext()) {
qualificationSql.append(" and ");
}
}
String sql = "update " + tableName + " set " + updateSql + qualificationSql;
System.out.println(sql);
}
private static String[] dealKeyAndValueByDataType(String str, Map<String, String> qualificationMap) {
String [] tempStr = str.split("_");
String [] returnStr = new String[2];
returnStr[0] = tempStr[1];
if ("char".equals(tempStr[0])) {
returnStr[1] = "'" + (String)qualificationMap.get(str) + "'";
} else if ("int".equals(tempStr[0])) {
returnStr[1] = (String) qualificationMap.get(str);
}
return returnStr;
}
public static void main (String [] args) {
Map<String, String> updateMap = new HashMap<String, String>();
updateMap.put("int_id", "1");
updateMap.put("char_name", "ysm");
Map<String, String> qualificationMap = new HashMap<String, String>();
qualificationMap.put("int_sn", "4");
qualificationMap.put("char_osn", "12345abc");
update(updateMap, qualificationMap, "t_repair");
}
}
分享到:
相关推荐
郭定安老师的“Access数据库一日通讲义”提供了深入浅出的教程,帮助学习者快速掌握数据库的基本概念和操作。 在数据库设计中,正规化(Normalization)是一个至关重要的概念。正规化是为了避免数据冗余和提高数据...
数据库连接是应用程序与MySQL服务器之间的通信通道,通过这个通道,应用可以发送SQL查询、更新数据、插入新记录或检索现有记录。开发包通常提供API(应用程序编程接口),这些API封装了与数据库交互的底层细节,使...
Qt对SQLite数据库的管理提供了友好的接口,可以方便地创建、读取、更新和删除数据库中的数据。 5. Linux环境下的开发:在Linux平台上进行Qt4和SQLite的开发需要使用一些基本的Linux命令和工具,比如make、gcc编译器...
`,更新语句`UPDATE table_name SET column1 = value1 WHERE condition;`等。 #### 4. 数据库设计 - **需求分析**:明确数据库需要实现的功能和目标,收集用户需求。 - **概念设计**:建立ER模型(实体-联系模型)...
达梦数据库是一款由中国达梦公司开发的高性能、安全可靠的关系型数据库管理系统,广泛应用于政府、金融、电信...在实际应用中,还需要关注达梦数据库的最新版本更新和最佳实践,以充分利用其功能并解决可能出现的问题。
VS-FW 具有高性能、大存储和报表丰富等优势,能为客户带来自动识别用户对敏感数据的访问行为模式,识别数据库的安全威胁,并定期更新攻击特征库全面审核企业内部和外部人员对敏感数据的所有访问,提高数据安全管理...
4. **数据同步**:通过比较不同数据库或模式之间的差异,Navicat能生成同步脚本,快速更新数据库结构和数据,确保数据库的一致性。 5. **数据备份**:计划备份功能使得定期备份数据库变得简单,防止因意外丢失重要...
### 山东IP数据库20080908更新解析 #### 一、更新背景与意义 在互联网发展的早期阶段,对IP地址的管理和跟踪是网络管理中的一个重要环节。...通过持续更新和完善这类数据库,可以更好地适应不断变化的网络环境需求。
这些网站尽管商品种类和运营模式各异,但在数据库设计上有许多共通之处,比如用户信息表、商品分类表、订单表等关键数据表的字段设计。 数据库设计是一个涉及需求分析、结构设计和实施的复杂过程。在SQL Server ...
5. **执行SQL语句**:一旦链接建立,你可以使用`Statement`或`PreparedStatement`对象来执行SQL查询、插入、更新或删除操作。 6. **处理结果集**:执行查询后,结果会被返回为`ResultSet`对象,你可以遍历它来获取...
这很可能是该工具的主要程序或者一个数据生成脚本,用于创建或更新来电数据库。用户可能需要运行这个程序来导入新的电话号码数据,或者编辑现有的数据库记录。 结合以上信息,我们可以得出以下知识点: 1. PPC平台...
SQL21日自学通是一套系统的学习资源,旨在帮助初学者在21天内掌握SQL的基础知识和核心技能,从而能有效地进行数据查询、管理、分析与更新。 在SQL学习之旅中,首先会接触到的是SQL的基本概念。SQL语言分为DML(Data...
- JDBC API包含一组Java类和接口,允许Java应用程序连接到各种数据库。 - `java.sql.DriverManager` 是核心,负责建立到数据库的连接。 - `Connection` 对象表示到数据库的物理连接。 - `Statement` 和 `...
11. **活动或文案管理表**:这类表用于存储活动信息、宣传文本等,便于管理和更新营销活动。 12. **后续讨论**:数据库设计是一个迭代的过程,随着需求的明确和调整,可能需要多次讨论和完善。 综上所述,数据库...
元数据模型记录了关于数据仓库本身的元信息,如数据来源、更新频率等。 系统分析与设计阶段,模块划分将系统分解为可管理的部分,如用户管理、课程管理、教师评价等模块。数据库设计是这一阶段的重点,涉及ER图的...
服务端可能包含一个实现了特定接口的类,该接口定义了数据库操作的方法。当客户端通过Remoting调用这些方法时,实际上是在远程进程中执行相应的数据库操作。 为了实现这样的系统,开发者需要完成以下步骤: 1. **...
不同的DBMS有不同的特性,但对开发者来说,它们在操作上有很多共通之处。 3. SQL代表结构化查询语言,用于执行各种数据库操作,如查询、插入、更新和删除数据。SQL与特定的数据库产品(如SQL Server)之间是有区别...
这个实例通常会涵盖基本的数据库操作,如数据查询、插入、更新和删除,以及在VC++中使用MFC(Microsoft Foundation Classes)库来实现用户界面。 【描述】"vc与sql编写的小型系统适合初学者 来源于30天学通vc++...
服务器端部署了一个远程对象,例如`DbServerLibrary.dll`,这个库包含了处理数据库查询和更新的逻辑。服务器端需要注册一个或多个通道,如TCP通道,以便客户端可以通过这些通道与远程对象交互。远程对象的核心组件...