本工具类提供动态构建SQL查询语句功能,特别适用于灵活组装WHERE子句后的条件表达式,简化复杂查询逻辑的编码工作。
动态拼接SQL语句的工具类用于处理where子句后面的条件构建,并与原生JDBC结合使用以实现类似动态SQL的功能。如果`maxLat`和`minLat`都不为空,则添加相应的参数到sqlParamList中,具体为:
```java
if (ObjectUtil.isNotEmpty(maxLat) && ObjectUtil.isNotEmpty(minLat)) {
sqlParamList.add(new SqlParam(lat, minLat, SqlOpEnum.GE));
sqlParamList.add(new SqlParam(lat, maxLat, SqlOpEnum.LTE));
}
```
接着使用SqlBuilderUtil工具类根据sqlParamList生成条件对:
```java
Pair stringPair = SqlBuilderUtil.buildCondition(sqlParamList);
```
然后将构建的SQL语句和参数插入到预定义的模板中,例如ConstantSql.TEC_TJ_SQL,并记录日志输出最终形成的SQL语句。
```java
String sql = String.format(ConstantSql.TEC_TJ_SQL, stringPair.getKey());
log.info(**sql语句:{}, sql);
```
这样便完成了动态拼接和执行SQL操作的过程。