java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例
import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类
/**
* 生成更新Sql
* @param entity
* @param parameter
* @return
*/
protected SqlParmeter generateUpdateSql(T entity, HeaMap parameter) {
initEntityInfo(this.entityType);
String entityName = getEntityName();
Entity entityInfo = entityMap.get(entityName);
String tableName = entityInfo.getTableName();
SqlParmeter sqlParmeter = new SqlParmeter();
if (null == parameter) {
parameter = new HeaMap();
}
if (parameter.size() == 0) {
throw new RuntimeException("必须传人参数!");
}
List params = new ArrayList();
ConcurrentHashMap aliasMap = new ConcurrentHashMap();
StringBuffer whereSql = new StringBuffer();// 包含where后面的sql语局
String link = "where";// 第一个默认连接是where
boolean firstQueryFlag = true;// 是否是第一个需查项
List groupSqlList = new ArrayList();
for (Entry entry : parameter.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
key = filterKey(key);
if (key.startsWith(HeaConstant.Instruction.ADDGROUP)) {
groupSqlList = getOrder(groupSqlList, value);
continue;
}
ColumnCondition columnCondition = new ColumnCondition();
columnCondition = analyzeKey(columnCondition, key, value);
if (!columnCondition.getIfQuery()) {
continue;
}
if (!firstQueryFlag) {
link = columnCondition.getAndOr();
}
whereSql.append(HStringUtils.format(" {0} {1}", link, columnCondition.getSqlFragment()));
if (null != columnCondition.getCookedValue()) {
params.addAll(columnCondition.getCookedValue());
}
firstQueryFlag = false;
}
String whereSqlStr = whereSql.toString();
String groupSql = "";
if (groupSqlList.size() > 0) {
groupSql = " group by " + HStringUtils.StrList(groupSqlList, ",");
}
String tempStr = HStringUtils.addStr(whereSqlStr, groupSql);
aliasMap.putAll(HOrmUtil.getAliasFromSql(tempStr));
// 分析得到joinSql
String joinSql = "";
if (!aliasMap.isEmpty()) {
HHashMap joinSqlMap = new HHashMap();
analyzeAliasMap(aliasMap, joinSqlMap);
joinSql = getJoinSql(joinSqlMap);
}
String tableSqlStr = HStringUtils.format("{0} t {1}", tableName, joinSql);
Map viewParams = parameter.getViewParams();
TableSql tableSql = getTableSql(tableSqlStr, viewParams);
tableSqlStr = tableSql.getTargetTableSql();
List tableParams = tableSql.getParams();
// 获得setSql
SqlFragment setSqlEntity = getUpdateSetSql(entity, entityInfo, parameter.getUpdateNullMap());
// 0:tableSql 1:setSql 2:where
String sql = HStringUtils.format("update {0} set {1} {2}", tableSqlStr, setSqlEntity.getSql(), whereSqlStr);
// String sql = StringUtils.format("delete t from {0} {1}",
// tableSqlStr, whereSqlStr);
sqlParmeter.setSql(sql);
tableParams.addAll(setSqlEntity.getParams());// set
tableParams.addAll(params);
sqlParmeter.setParameters(tableParams.toArray());
return sqlParmeter;
}
java hashmap putall_Java ConcurrentHashMap.putAll方法代码示例相关推荐
- cdate在java中_Java Calendar.add方法代码示例
本文整理汇总了Java中java.util.Calendar.add方法的典型用法代码示例.如果您正苦于以下问题:Java Calendar.add方法的具体用法?Java Calendar.add怎 ...
- javacurrentmap_Java ConcurrentHashMap.forEach方法代码示例
import java.util.concurrent.ConcurrentHashMap; //导入方法依赖的package包/类 public static void main(String[] ...
- java中setattribute_Java Files.setAttribute方法代码示例
import java.nio.file.Files; //导入方法依赖的package包/类 @Override public void setFileHiddenAttribute( String ...
- java putall实现,Java JsonObject.putAll方法代码示例
import org.json.simple.JsonObject; //导入方法依赖的package包/类 static JSONObject unconfirmedTransaction(Tran ...
- java default locale_Java JSON.defaultLocale方法代码示例
import com.alibaba.fastjson.JSON; //导入方法依赖的package包/类 public void test_time() throws Exception { lon ...
- java feature get_Java ShapeFeature.getLocations方法代码示例
import de.fhpotsdam.unfolding.data.ShapeFeature; //导入方法依赖的package包/类 public void setup() { // settin ...
- java sql xml_Java ResultSet.getSQLXML方法代码示例
import java.sql.ResultSet; //导入方法依赖的package包/类 protected Object processColumn(ResultSet rs, int inde ...
- java get timestamp_Java Timestamp.getTime方法代码示例
import java.sql.Timestamp; //导入方法依赖的package包/类 /** * Tests fix for BUG#5874, timezone correction goe ...
- java font.createfont_Java Workbook.createFont方法代码示例
import org.apache.poi.ss.usermodel.Workbook; //导入方法依赖的package包/类 /** * 创建表格样式 * @param wb 工作薄对象 * @r ...
最新文章
- RecyclerView + SnapHelper实现炫酷ViewPager效果
- 因为有了这个画图工具集,老师同学都说我画的图有特色(Processon,draw.io,Xmind)
- Java教程分享:JVM垃圾回收机制之对象回收算法
- 期货与期权(part8)--市场报价
- dhcp服务器能为客户端提供哪些信息,为DHCP客户端提供DHCP服务器的MAC [关闭]
- 游戏笔记本计算机购买,2021大学生买电脑,容易犯的七种错误!游戏本和轻薄本买哪个?...
- Pandas DataFrame索引和列属性
- 127.自己开发一个 PHP 框架
- 【Python】Python爬取小说标题及内容——晋江文学网
- IEEE 802.2 LLC协议
- 怎么对文件夹名称进行编号排序
- 根据ip查经纬度软件_根据地址查询经纬度IP(百度地图)
- 基于Docker部署OpenLDAP,同时集成第三方系统(GitLab、JIRA、Nexus、Harbor)
- 网络对抗技术——实验四:恶意代码技术
- 【ae遮罩】混合模式:模板alpha,轮廓alpha
- 图像处理 - 平滑处理(cvSmooth)
- 写给通信年轻人的27个忠告
- 镜头随人物而动,视频编辑服务让用户稳站C位
- Opencv调整运行窗口图片的大小
- C++函数 【鸡】 坤坤带你拿下
热门文章
- java 中的scanner_java 中的Scanner
- mysql benchmark 测试工具_BenchmarkSQL数据库基准测试工具
- dubbo provider异步_Dubbo相关面试题
- Win8下80端口被System占用,造成Apache不能启动的解决办法
- Web Api 中使用 PCM TO WAV 的语音操作
- JS中,如何判断一个被转换的数是否是NaN
- ECMAScript 6 之 let 和 const 命令
- sqlmap简单用法
- Silverlight Code Samples
- 递归——黑白棋子的移动(洛谷 P1259)