(2)java操作数据库的基本方法及相关类

@TOC

(2)掌握java操作数据库的基本方法及相关类,如:ConnectionFactory、BaseDAO、Row、Query、DBUtils、PagingBuilder、WhereClause

ConnectionFactory:

ConnectionFactory:连接工厂
ConnectionFactory的作用:

  • 利用工厂模式提升代码的重用性
  • 封装注册数据的驱动和获得数据库的连接
  • 利用配置文件减少硬编码,便于维护
    ConnectionFactory的开发
  • 配置文件fsr-connections.properties
    该后缀类型的文件存储的是键值对数据,一行一个键值对,前面是键
<property name="driver">com.mysql.jdbc.Driver</property>
		<property name="url">jdbc:mysql://localhost:3306/fsr4_demo?characterEncoding=utf8&amp;allowMultiQueries=true&amp;zeroDateTimeBehavior=convertToNull</property>
		<property name="username">root</property>
		<property name="password">123456</property>
/*     */ package com.farseersoft.dao;
/*     */ 
/*     */ import com.farseersoft.dao.cfg.DataSourceConfig;
/*     */ import com.farseersoft.dao.dialect.Dialect;
/*     */ import java.sql.Connection;
/*     */ import java.sql.Driver;
/*     */ import java.sql.DriverManager;
/*     */ import java.util.Enumeration;
/*     */ import java.util.HashMap;
/*     */ import java.util.Map;
/*     */ import org.apache.commons.logging.Log;
/*     */ import org.apache.commons.logging.LogFactory;
/*     */ 
/*     */ public class ConnectionFactory
/*     */ {
/*  22 */   private static Log log = LogFactory.getLog(ConnectionFactory.class);
/*     */   
/*     */   private static Map<String, ColumnMetaDataSet> COLUMN_META_DATA_SET_CACHE;
/*     */   
/*     */   public static ColumnMetaDataSet getColumnMetaDataSet(String tableName)
/*     */     throws DaoException
/*     */   {
/*  33 */     return getColumnMetaDataSet(tableName, null);
/*     */   }
/*     */    
/*     */   public static ColumnMetaDataSet getColumnMetaDataSet(String tableName, String dataSourceId)
/*     */     throws DaoException
/*     */   {
/*  45 */     if (dataSourceId == null) {
/*  46 */       dataSourceId = "default";
/*     */     }
/*     */     
/*  49 */     String key = (dataSourceId + "-" + tableName).toLowerCase();
/*  50 */     if (getSession(dataSourceId).getDataSourceConnector().getConfig().isMetaCache()) {
/*  51 */       if (COLUMN_META_DATA_SET_CACHE == null) {
/*  52 */         COLUMN_META_DATA_SET_CACHE = new HashMap();
/*     */       }
/*     */       
/*  55 */       ColumnMetaDataSet cds = (ColumnMetaDataSet)COLUMN_META_DATA_SET_CACHE.get(key);
/*  56 */       if (cds == null) {
/*  57 */         cds = new ColumnMetaDataSet(tableName, dataSourceId);
/*  58 */         COLUMN_META_DATA_SET_CACHE.put(key, cds);
/*     */       }
/*  60 */       return cds;
/*     */     }
/*  62 */     return new ColumnMetaDataSet(tableName, dataSourceId);
/*     */   }
/*     */   
/*     */   public static void resetCacheColumnMetaDataSet(String dataSourceId)
/*     */   {
/*  72 */     if (COLUMN_META_DATA_SET_CACHE != null) {
/*  73 */       COLUMN_META_DATA_SET_CACHE.clear();
/*     */     }
/*     */   }
/*     */   
/*     */   public static Session getSession()
/*     */     throws DaoException
/*     */   {
/*  84 */     return DefaultSessionFactory.getSession();
/*     */   }
/*     */   
/*     */   public static void resetSession(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/*  94 */     DefaultSessionFactory.resetSession(dataSourceId);
/*     */   }
/*     */   
/*     */   public static void resetSession()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */   public static Session getSession(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 113 */     return DefaultSessionFactory.getSession(dataSourceId);
/*     */   }
/*     */   
/*     */   public static Dialect getDialect()
/*     */     throws DaoException
/*     */   {
/* 123 */     return getSession().getDialect();
/*     */   }
/*     */   
/*     */   public static Dialect getDialect(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 133 */     return getSession(dataSourceId).getDialect();
/*     */   }
/*     */   
/*     */   public static Connection getConnection()
/*     */     throws DaoException
/*     */   {
/* 143 */     return DefaultSessionFactory.getConnection();
/*     */   }
/*     */   
/*     */   public static Connection getConnection(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 154 */     return DefaultSessionFactory.getConnection(dataSourceId);
/*     */   }
/*     */   
/*     */ 

/*     */   public static void commit()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */   public static void commit(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 173 */     DefaultSessionFactory.commit(dataSourceId);
/*     */   }
/*     */   
/*     */   public static void commitAll()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */   public static void rollback()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */   public static void rollback(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 201 */     DefaultSessionFactory.rollback(dataSourceId);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void rollbackAll()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void closeSession()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void closeSession(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 229 */     DefaultSessionFactory.closeSession(dataSourceId);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void closeAllSession()
/*     */     throws DaoException
/*     */   {}
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void closeSessionAndDataSource()
/*     */     throws DaoException
/*     */   {
/* 246 */     DefaultSessionFactory.closeSession();
/* 247 */     DataSourceManager.removeDataSource();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */   public static void closeSessionAndDataSource(String dataSourceId)
/*     */     throws DaoException
/*     */   {
/* 256 */     DefaultSessionFactory.closeSession(dataSourceId);
/* 257 */     DataSourceManager.removeDataSource(dataSourceId);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public static void closeAllSessionAndDataSource()
/*     */     throws DaoException
/*     */   {
/* 265 */     DefaultSessionFactory.closeAllSession();
/* 266 */     DataSourceManager.removeAllDataSource();
/*     */   }
/*     */   
/*     */ 
/*     */   public static void deregisterDrivers()
/*     */   {
/*     */     try
/*     */     {
/* 274 */       Enumeration<Driver> drivers = DriverManager.getDrivers();
/* 275 */       while (drivers.hasMoreElements()) {
/* 276 */         DriverManager.deregisterDriver((Driver)drivers.nextElement());
/*     */       }
/* 278 */       log.debug("deregister all drivers success.");
/*     */     } catch (Exception e) {
/* 280 */       e.printStackTrace();
/*     */     }
/*     */   }
/*     */ }
  • 配置文件信息的获取

BaseDAO

  • BaseDao操作

Row

/*     */ package com.farseersoft.dao;
/*     */ 
/*     */ import com.farseersoft.core.DateTime;
/*     */ import com.farseersoft.core.Property;
/*     */ import com.farseersoft.dao.consts.DBConsts;
/*     */ import com.farseersoft.dao.util.DataTypeUtils;
/*     */ import com.farseersoft.exception.PropertyException;
/*     */ import com.farseersoft.util.ObjectUtils;
/*     */ import com.farseersoft.util.PropertyUtils;
/*     */ import com.farseersoft.util.StringUtils;
/*     */ import java.math.BigDecimal;
/*     */ import java.sql.Blob;
/*     */ import java.util.Date;
/*     */ import java.util.HashMap;
/*     */ import java.util.Iterator;
/*     */ import java.util.LinkedHashMap;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import java.util.Set;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class Row
/*     */   extends LinkedHashMap<String, Object>
/*     */ {
/*     */   private static final long serialVersionUID = 9108380293421438125L;
/*     */   private boolean isNew;
/*     */   private String command;
/*     */   private Map<String, String> blankColumns;
/*     */   
/*     */   public Row() {}
/*     */   
/*     */   public Row(Object values)
/*     */     throws DaoException
/*     */   {
/*  38 */     merge(values);
/*     */   }
/*     */   
/*     */   public boolean isNew() {
/*  42 */     return isNew;
/*     */   }
/*     */   
/*     */   public void setNew(boolean isNew) {
/*  46 */     this.isNew = isNew;
/*     */   }
/*     */   
/*     */   public String getCommand() {
/*  50 */     return command;
/*     */   }
/*     */   
/*     */   public void setCommand(String command) {
/*  54 */     this.command = command;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void putBlank(String columnName)
/*     */   {
/*  63 */     if (blankColumns == null) {
/*  64 */       blankColumns = new HashMap();
/*     */     }
/*  66 */     blankColumns.put(columnName.toUpperCase(), "");
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Map<String, String> getBlankColumns()
/*     */   {
/*  75 */     return blankColumns;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void put(String columnName, Object value, Object defaultValue)
/*     */   {
/* 100 */     if (columnName != null) {
/* 101 */       put(columnName, value == null ? defaultValue : value);
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getMainId()
/*     */   {
/* 111 */     return getString("mainId");
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public boolean isEmpty()
/*     */   {
/* 118 */     return size() == 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isNotEmpty()
/*     */   {
/* 127 */     return size() > 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isNullColumn(String columnName)
/*     */   {
/* 137 */     return get(columnName) == null;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isNotNullColumn(String columnName)
/*     */   {
/* 147 */     return get(columnName) != null;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isEmptyColumn(String columnName)
/*     */   {
/* 157 */     return ObjectUtils.isEmpty(get(columnName));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isNotEmptyColumn(String columnName)
/*     */   {
/* 167 */     return ObjectUtils.isNotEmpty(get(columnName));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isEmptyMainId()
/*     */   {
/* 176 */     return ObjectUtils.isEmpty(get("mainId"));
/*     */   }
/*     */   
/*     */   public Object get(Object key)
/*     */   {
/* 181 */     return super.get(key.toString().toUpperCase());
/*     */   }
/*     */   
/*     */   public boolean containsKey(Object key)
/*     */   {
/* 186 */     return super.containsKey(key.toString().toUpperCase());
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getString(String columnName)
/*     */   {
/* 196 */     return StringUtils.trimToNull(get(columnName));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getString(String columnName, String pattern)
/*     */   {
/* 207 */     return StringUtils.toString(get(columnName), pattern);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getString(String columnName, String defaultString, String pattern)
/*     */   {
/* 219 */     Object obj = get(columnName);
/* 220 */     if (obj == null) {
/* 221 */       return defaultString;
/*     */     }
/* 223 */     return StringUtils.toString(obj, pattern);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public byte[] getBytes(String columnName)
/*     */   {
/* 233 */     return (byte[])get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Integer getInteger(String columnName)
/*     */   {
/* 243 */     Object obj = get(columnName);
/* 244 */     if (obj == null) {
/* 245 */       return null;
/*     */     }
/*     */     
/* 248 */     if ((obj instanceof Integer))
/* 249 */       return (Integer)obj;
/* 250 */     if ((obj instanceof Double))
/* 251 */       return Integer.valueOf(((Double)obj).intValue());
/* 252 */     if ((obj instanceof Float))
/* 253 */       return Integer.valueOf(((Float)obj).intValue());
/* 254 */     if ((obj instanceof Long))
/* 255 */       return Integer.valueOf(((Long)obj).intValue());
/* 256 */     if ((obj instanceof BigDecimal))
/* 257 */       return Integer.valueOf(((BigDecimal)obj).intValue());
/* 258 */     if ((obj instanceof String)) {
/* 259 */       String val = getString(columnName);
/* 260 */       if (val != null) {
/* 261 */         return Integer.valueOf(val);
/*     */       }
/* 263 */       return null;
/*     */     }
/*     */     
/* 266 */     return (Integer)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Integer getInteger(String columnName, int defaultInt)
/*     */   {
/* 277 */     Object obj = get(columnName);
/* 278 */     if (obj == null) {
/* 279 */       return Integer.valueOf(defaultInt);
/*     */     }
/*     */     
/* 282 */     if ((obj instanceof Integer))
/* 283 */       return (Integer)obj;
/* 284 */     if ((obj instanceof Double))
/* 285 */       return Integer.valueOf(((Double)obj).intValue());
/* 286 */     if ((obj instanceof Float))
/* 287 */       return Integer.valueOf(((Float)obj).intValue());
/* 288 */     if ((obj instanceof Long))
/* 289 */       return Integer.valueOf(((Long)obj).intValue());
/* 290 */     if ((obj instanceof BigDecimal))
/* 291 */       return Integer.valueOf(((BigDecimal)obj).intValue());
/* 292 */     if ((obj instanceof String)) {
/* 293 */       String val = getString(columnName);
/* 294 */       if (val != null) {
/* 295 */         return Integer.valueOf(val);
/*     */       }
/* 297 */       return Integer.valueOf(defaultInt);
/*     */     }
/*     */     
/* 300 */     return (Integer)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Long getLong(String columnName)
/*     */   {
/* 310 */     Object obj = get(columnName);
/* 311 */     if (obj == null) {
/* 312 */       return null;
/*     */     }
/*     */     
/* 315 */     if ((obj instanceof Long))
/* 316 */       return (Long)obj;
/* 317 */     if ((obj instanceof Double))
/* 318 */       return Long.valueOf(((Double)obj).longValue());
/* 319 */     if ((obj instanceof Float))
/* 320 */       return Long.valueOf(((Float)obj).longValue());
/* 321 */     if ((obj instanceof Integer))
/* 322 */       return Long.valueOf(((Integer)obj).longValue());
/* 323 */     if ((obj instanceof BigDecimal))
/* 324 */       return Long.valueOf(((BigDecimal)obj).longValue());
/* 325 */     if ((obj instanceof String)) {
/* 326 */       String val = getString(columnName);
/* 327 */       if (val != null) {
/* 328 */         return Long.valueOf(val);
/*     */       }
/* 330 */       return null;
/*     */     }
/*     */     
/* 333 */     return (Long)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Long getLong(String columnName, long defaultLong)
/*     */   {
/* 344 */     Object obj = get(columnName);
/* 345 */     if (obj == null) {
/* 346 */       return Long.valueOf(defaultLong);
/*     */     }
/*     */     
/* 349 */     if ((obj instanceof Long))
/* 350 */       return (Long)obj;
/* 351 */     if ((obj instanceof Double))
/* 352 */       return Long.valueOf(((Double)obj).longValue());
/* 353 */     if ((obj instanceof Float))
/* 354 */       return Long.valueOf(((Float)obj).longValue());
/* 355 */     if ((obj instanceof Integer))
/* 356 */       return Long.valueOf(((Integer)obj).longValue());
/* 357 */     if ((obj instanceof BigDecimal))
/* 358 */       return Long.valueOf(((BigDecimal)obj).longValue());
/* 359 */     if ((obj instanceof String)) {
/* 360 */       String val = getString(columnName);
/* 361 */       if (val != null) {
/* 362 */         return Long.valueOf(val);
/*     */       }
/* 364 */       return Long.valueOf(defaultLong);
/*     */     }
/*     */     
/* 367 */     return (Long)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Float getFloat(String columnName)
/*     */   {
/* 377 */     Object obj = get(columnName);
/* 378 */     if (obj == null) {
/* 379 */       return null;
/*     */     }
/*     */     
/* 382 */     if ((obj instanceof Float))
/* 383 */       return (Float)obj;
/* 384 */     if ((obj instanceof Double))
/* 385 */       return Float.valueOf(((Double)obj).floatValue());
/* 386 */     if ((obj instanceof Long))
/* 387 */       return Float.valueOf(((Long)obj).floatValue());
/* 388 */     if ((obj instanceof Integer))
/* 389 */       return Float.valueOf(((Integer)obj).floatValue());
/* 390 */     if ((obj instanceof BigDecimal))
/* 391 */       return Float.valueOf(((BigDecimal)obj).floatValue());
/* 392 */     if ((obj instanceof String)) {
/* 393 */       String val = getString(columnName);
/* 394 */       if (val != null) {
/* 395 */         return Float.valueOf(val);
/*     */       }
/* 397 */       return null;
/*     */     }
/*     */     
/* 400 */     return (Float)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Float getFloat(String columnName, float defaultFloat)
/*     */   {
/* 411 */     Object obj = get(columnName);
/* 412 */     if (obj == null) {
/* 413 */       return Float.valueOf(defaultFloat);
/*     */     }
/*     */     
/* 416 */     if ((obj instanceof Float))
/* 417 */       return (Float)obj;
/* 418 */     if ((obj instanceof Double))
/* 419 */       return Float.valueOf(((Double)obj).floatValue());
/* 420 */     if ((obj instanceof Long))
/* 421 */       return Float.valueOf(((Long)obj).floatValue());
/* 422 */     if ((obj instanceof Integer))
/* 423 */       return Float.valueOf(((Integer)obj).floatValue());
/* 424 */     if ((obj instanceof BigDecimal))
/* 425 */       return Float.valueOf(((BigDecimal)obj).floatValue());
/* 426 */     if ((obj instanceof String)) {
/* 427 */       String val = getString(columnName);
/* 428 */       if (val != null) {
/* 429 */         return Float.valueOf(val);
/*     */       }
/* 431 */       return Float.valueOf(defaultFloat);
/*     */     }
/*     */     
/* 434 */     return (Float)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Double getDouble(String columnName)
/*     */   {
/* 444 */     Object obj = get(columnName);
/* 445 */     if (obj == null) {
/* 446 */       return null;
/*     */     }
/*     */     
/* 449 */     if ((obj instanceof Double))
/* 450 */       return (Double)obj;
/* 451 */     if ((obj instanceof Float))
/* 452 */       return Double.valueOf(((Float)obj).doubleValue());
/* 453 */     if ((obj instanceof Long))
/* 454 */       return Double.valueOf(((Long)obj).doubleValue());
/* 455 */     if ((obj instanceof Integer))
/* 456 */       return Double.valueOf(((Integer)obj).doubleValue());
/* 457 */     if ((obj instanceof BigDecimal))
/* 458 */       return Double.valueOf(((BigDecimal)obj).doubleValue());
/* 459 */     if ((obj instanceof String)) {
/* 460 */       String val = getString(columnName);
/* 461 */       if (val != null) {
/* 462 */         return Double.valueOf(val);
/*     */       }
/* 464 */       return null;
/*     */     }
/*     */     
/* 467 */     return (Double)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Double getDouble(String columnName, double defaultDouble)
/*     */   {
/* 478 */     Object obj = get(columnName);
/* 479 */     if (obj == null) {
/* 480 */       return Double.valueOf(defaultDouble);
/*     */     }
/*     */     
/* 483 */     if ((obj instanceof Double))
/* 484 */       return (Double)obj;
/* 485 */     if ((obj instanceof Float))
/* 486 */       return Double.valueOf(((Float)obj).doubleValue());
/* 487 */     if ((obj instanceof Long))
/* 488 */       return Double.valueOf(((Long)obj).doubleValue());
/* 489 */     if ((obj instanceof Integer))
/* 490 */       return Double.valueOf(((Integer)obj).doubleValue());
/* 491 */     if ((obj instanceof BigDecimal))
/* 492 */       return Double.valueOf(((BigDecimal)obj).doubleValue());
/* 493 */     if ((obj instanceof String)) {
/* 494 */       String val = getString(columnName);
/* 495 */       if (val != null) {
/* 496 */         return Double.valueOf(val);
/*     */       }
/* 498 */       return Double.valueOf(defaultDouble);
/*     */     }
/*     */     
/* 501 */     return (Double)get(columnName);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public BigDecimal getBigDecimal(String columnName)
/*     */   {
/* 511 */     return getBigDecimal(columnName, null);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public BigDecimal getBigDecimal(String columnName, BigDecimal defaultValue)
/*     */   {
/* 522 */     Object obj = get(columnName);
/* 523 */     if (obj == null) {
/* 524 */       return defaultValue;
/*     */     }
/*     */     
/* 527 */     if ((obj instanceof BigDecimal))
/* 528 */       return (BigDecimal)get(columnName);
/* 529 */     if ((obj instanceof Double))
/* 530 */       return new BigDecimal(((Double)obj).doubleValue());
/* 531 */     if ((obj instanceof Float))
/* 532 */       return new BigDecimal(((Float)obj).floatValue());
/* 533 */     if ((obj instanceof Integer))
/* 534 */       return new BigDecimal(((Integer)obj).intValue());
/* 535 */     if ((obj instanceof Long))
/* 536 */       return new BigDecimal(((Long)obj).longValue());
/* 537 */     if ((obj instanceof String)) {
/* 538 */       String val = StringUtils.trimToNull(obj);
/* 539 */       if (val != null) {
/* 540 */         return new BigDecimal(Double.valueOf(val).doubleValue());
/*     */       }
/* 542 */       return defaultValue;
/*     */     }
/*     */     
/* 545 */     return null;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Date getDate(String columnName)
/*     */   {
/* 555 */     Object obj = get(columnName);
/* 556 */     if (obj != null)
/*     */     {
/* 558 */       if ((obj instanceof Long))
/* 559 */         return new Date(((Long)get(columnName)).longValue());
/* 560 */       if ((obj instanceof Date)) {
/* 561 */         return (Date)get(columnName);
/*     */       }
/* 563 */       String dateString = StringUtils.trimToNull(get(columnName));
/* 564 */       if (DateTime.hasTimeString(dateString)) {
/* 565 */         return new DateTime(dateString, DBConsts.DATETIME_PATTERN);
/*     */       }
/* 567 */       return new DateTime(dateString, DBConsts.DATE_PATTERN);
/*     */     }
/*     */     
/*     */ 
/* 571 */     return null;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Date getDate(String columnName, String pattern)
/*     */   {
/* 583 */     Object obj = get(columnName);
/* 584 */     if (obj != null)
/*     */     {
/* 586 */       if ((obj instanceof Long))
/* 587 */         return new Date(((Long)get(columnName)).longValue());
/* 588 */       if ((obj instanceof Date)) {
/* 589 */         return (Date)get(columnName);
/*     */       }
/* 591 */       String dateString = StringUtils.trimToNull(get(columnName));
/* 592 */       return new DateTime(dateString, pattern);
/*     */     }
/*     */     
/* 595 */     return null;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getBlobText(String columnName, String encoding)
/*     */   {
/*     */     try
/*     */     {
/* 608 */       return DataTypeUtils.getBlobText((Blob)get(columnName), encoding);
/*     */     } catch (DaoException e) {
/* 610 */       throw new RuntimeException(e);
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */   public void merge(Object obj)
/*     */     throws DaoException
/*     */   {
/*     */     Map cs;
/*     */     
/*     */     Iterator<String> iterator;
/*     */     
/* 622 */     if ((obj instanceof Map)) {
/* 623 */       cs = (Map)obj;
/* 624 */       for (iterator = cs.keySet().iterator(); iterator.hasNext();) {
/* 625 */         String columnName = (String)iterator.next();
/* 626 */         put(columnName, cs.get(columnName));
/*     */       }
/*     */     }
/*     */     else {
/*     */       try {
/* 631 */         List<Property> csList = PropertyUtils.getProperties(obj);
/* 632 */         for (Property property : csList)
/*     */         {
/* 634 */           Object value = PropertyUtils.getProperty(obj, property.getName());
/* 635 */           if (value != null) {
/* 636 */             put(property.getName(), value);
/*     */           }
/*     */         }
/*     */       } catch (PropertyException e) {
/* 640 */         throw new DaoException(e);
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Object remove(String key)
/*     */   {
/* 652 */     return super.remove(key.toString().toUpperCase());
/*     */   }
/*     */   
/*     */   public Object put(String key, Object value)
/*     */   {
/* 657 */     return super.put(key.toUpperCase(), value);
/*     */   }
/*     */ }

/* Location:           C:\Users\gaozebin\.gradle\caches\modules-2\files-2.1\com.farseersoft\fsr-dao\4.0.0\94cf87a9c6bdf20b027b0c661be724b0a0d7c494\fsr-dao-4.0.0.jar
 * Qualified Name:     com.farseersoft.dao.Row
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */

Query

Query.java

/*     */ package com.farseersoft.dao;
/*     */ 
/*     */ import com.farseersoft.dao.cfg.DaoSettings;
/*     */ import com.farseersoft.dao.dialect.AccessDialect;
/*     */ import com.farseersoft.dao.dialect.Dialect;
/*     */ import com.farseersoft.dao.dialect.SqlServerDialect;
/*     */ import com.farseersoft.dao.util.RowUtils;
/*     */ import com.farseersoft.dao.util.SqlParamUtils;
/*     */ import com.farseersoft.util.StringUtils;
/*     */ import java.sql.Connection;
/*     */ import java.sql.PreparedStatement;
/*     */ import java.sql.ResultSet;
/*     */ import java.sql.ResultSetMetaData;
/*     */ import java.sql.SQLException;
/*     */ import java.util.ArrayList;
/*     */ import java.util.List;
/*     */ import org.apache.commons.logging.Log;
/*     */ import org.apache.commons.logging.LogFactory;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class Query
/*     */ {
/*  26 */   private static Log log = LogFactory.getLog(Query.class);
/*     */   
/*     */   protected String sql;
/*     */   
/*     */   protected PagingBuilder pagingBuilder;
/*     */   
/*     */   protected WhereClause whereClause;
/*     */   
/*     */   protected List<SqlParam> sqlParams;
/*     */   protected String orderClause;
/*     */   protected String dataSourceId;
/*     */   private Session session;
/*     */   
/*     */   public Query() {}
/*     */   
/*     */   public Query(String sql)
/*     */   {
/*  43 */     this.sql = sql;
/*     */   }
/*     */   
/*     */   public Query(PagingBuilder pagingBuilder)
/*     */   {
/*  48 */     this.pagingBuilder = pagingBuilder;
/*     */   }
/*     */   
/*     */   public Query(PagingBuilder pagingBuilder, String dataSourceId)
/*     */   {
/*  53 */     this.pagingBuilder = pagingBuilder;
/*  54 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public Query(PagingBuilder pagingBuilder, List<SqlParam> sqlParams, String dataSourceId)
/*     */   {
/*  59 */     this.pagingBuilder = pagingBuilder;
/*  60 */     this.sqlParams = sqlParams;
/*  61 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public Query(String sql, WhereClause whereClause)
/*     */   {
/*  66 */     this.sql = sql;
/*  67 */     this.whereClause = whereClause;
/*     */   }
/*     */   
/*     */   public Query(String sql, String dataSourceId)
/*     */   {
/*  72 */     this.sql = sql;
/*  73 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public Query(String sql, WhereClause whereClause, String dataSourceId)
/*     */   {
/*  78 */     this.sql = sql;
/*  79 */     this.whereClause = whereClause;
/*  80 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public Query(String sql, WhereClause whereClause, String orderClause, String dataSourceId)
/*     */   {
/*  85 */     this.sql = sql;
/*  86 */     this.whereClause = whereClause;
/*  87 */     this.orderClause = orderClause;
/*  88 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */ 
/*     */   public Query(String sql, List<SqlParam> sqlParams, WhereClause whereClause, String orderClause, String dataSourceId)
/*     */   {
/*  94 */     this.sql = sql;
/*  95 */     this.sqlParams = sqlParams;
/*  96 */     this.whereClause = whereClause;
/*  97 */     this.orderClause = orderClause;
/*  98 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public String getSql() {
/* 102 */     return sql;
/*     */   }
/*     */   
/*     */   public void setSql(String sql) {
/* 106 */     this.sql = sql;
/*     */   }
/*     */   
/*     */   public PagingBuilder getPagingBuilder() {
/* 110 */     return pagingBuilder;
/*     */   }
/*     */   
/*     */   public void setPagingBuilder(PagingBuilder pagingBuilder) {
/* 114 */     this.pagingBuilder = pagingBuilder;
/*     */   }
/*     */   
/*     */   public List<SqlParam> getSqlParams() {
/* 118 */     return sqlParams;
/*     */   }
/*     */   
/*     */   public void setSqlParams(List<SqlParam> sqlParams) {
/* 122 */     this.sqlParams = sqlParams;
/*     */   }
/*     */   
/*     */   public WhereClause getWhereClause() {
/* 126 */     return whereClause;
/*     */   }
/*     */   
/*     */   public void setWhereClause(WhereClause whereClause) {
/* 130 */     this.whereClause = whereClause;
/*     */   }
/*     */   
/*     */   public String getOrderClause() {
/* 134 */     return orderClause;
/*     */   }
/*     */   
/*     */   public void setOrderClause(String orderClause) {
/* 138 */     this.orderClause = orderClause;
/*     */   }
/*     */   
/*     */   public Session getSession() throws DaoException {
/* 142 */     if (session == null) {
/* 143 */       if (dataSourceId == null) {
/* 144 */         session = ConnectionFactory.getSession();
/*     */       } else {
/* 146 */         session = ConnectionFactory.getSession(dataSourceId);
/*     */       }
/*     */     }
/* 149 */     return session;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public Connection getConnection()
/*     */     throws DaoException
/*     */   {
/* 159 */     return getSession().getConnection();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public <T> List<T> listAll(Class<T> clazz)
/*     */     throws DaoException
/*     */   {
/* 171 */     PreparedStatement ps = null;
/* 172 */     ResultSet rs = null;
/* 173 */     list = new ArrayList();
/* 174 */     String querySql = null;
/*     */     try
/*     */     {
/* 177 */       if (pagingBuilder == null) {
/* 178 */         if (StringUtils.isEmpty(sql)) {
/* 179 */           throw new DaoException("sql can't be empty!");
/*     */         }
/* 181 */         querySql = SqlParamUtils.buildSql(sql, whereClause, orderClause);
/*     */       } else {
/* 183 */         if (dataSourceId != null) {
/* 184 */           pagingBuilder.setDataSourceId(dataSourceId);
/*     */         }
/*     */         
/* 187 */         querySql = ConnectionFactory.getSession(dataSourceId).getDialect().createPaging(pagingBuilder);
/*     */       }
/*     */       
/* 190 */       String debugSqlNum = null;
/* 191 */       if (DaoFactory.getDaoSettings().isDebug()) {
/* 192 */         debugSqlNum = SqlParamUtils.createDebugSqlNum();
/* 193 */         log.debug(SqlParamUtils.showSqlLog(debugSqlNum, querySql));
/*     */       }
/*     */       
/* 196 */       ps = getConnection().prepareStatement(querySql);
/*     */       
/* 198 */       SqlParamUtils.fillSqlParamValues(debugSqlNum, ps, getRealSqlParamsList());
/*     */       
/* 200 */       rs = ps.executeQuery();
/* 201 */       ResultSetMetaData rsmd = rs.getMetaData();
/* 202 */       int columnCount = rsmd.getColumnCount();
/*     */       
/* 204 */       while (rs.next()) {
/* 205 */         Row row = new Row();
/* 206 */         for (int i = 1; i <= columnCount; i++) {
/* 207 */           String columnName = rsmd.getColumnLabel(i).toUpperCase();
/* 208 */           Object value = rs.getObject(i);
/* 209 */           row.put(columnName, RowUtils.toCompatibleValue(dataSourceId, value));
/*     */         }
/* 211 */         T vo = clazz.newInstance();
/* 212 */         RowUtils.copy(vo, row);
/* 213 */         list.add(vo);
/*     */       }
/*     */       
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 228 */       return list;
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 216 */       log.error(querySql);
/* 217 */       throw new DaoException(e);
/*     */     } finally {
/*     */       try {
/* 220 */         if (rs != null)
/* 221 */           rs.close();
/* 222 */         if (ps != null)
/* 223 */           ps.close();
/*     */       } catch (SQLException e1) {
/* 225 */         throw new DaoException(e1);
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public List<Row> listAll()
/*     */     throws DaoException
/*     */   {
/* 238 */     PreparedStatement ps = null;
/* 239 */     ResultSet rs = null;
/* 240 */     list = new ArrayList();
/* 241 */     String querySql = null;
/*     */     try {
/* 243 */       if (pagingBuilder == null) {
/* 244 */         if (StringUtils.isEmpty(sql)) {
/* 245 */           throw new DaoException("sql can't be empty!");
/*     */         }
/* 247 */         querySql = SqlParamUtils.buildSql(sql, whereClause, orderClause);
/*     */       } else {
/* 249 */         if (dataSourceId != null) {
/* 250 */           pagingBuilder.setDataSourceId(dataSourceId);
/*     */         }
/* 252 */         querySql = ConnectionFactory.getSession(dataSourceId).getDialect().createPaging(pagingBuilder);
/*     */       }
/*     */       
/* 255 */       String debugSqlNum = null;
/* 256 */       if (DaoFactory.getDaoSettings().isDebug()) {
/* 257 */         debugSqlNum = SqlParamUtils.createDebugSqlNum();
/* 258 */         log.debug(SqlParamUtils.showSqlLog(debugSqlNum, querySql));
/*     */       }
/*     */       
/* 261 */       ps = getConnection().prepareStatement(querySql);
/*     */       
/* 263 */       SqlParamUtils.fillSqlParamValues(debugSqlNum, ps, getRealSqlParamsList());
/*     */       
/* 265 */       rs = ps.executeQuery();
/* 266 */       ResultSetMetaData rsmd = rs.getMetaData();
/* 267 */       int columnCount = rsmd.getColumnCount();
/*     */       
/* 269 */       while (rs.next()) {
/* 270 */         Row row = new Row();
/* 271 */         for (int i = 1; i <= columnCount; i++) {
/* 272 */           String columnName = rsmd.getColumnLabel(i).toUpperCase();
/* 273 */           Object value = rs.getObject(i);
/* 274 */           Object result = RowUtils.toCompatibleValue(dataSourceId, value);
/* 275 */           row.put(columnName, result);
/*     */         }
/* 277 */         list.add(row);
/*     */       }
/*     */       
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 293 */       return list;
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 281 */       log.error("Error SQL : " + querySql);
/* 282 */       throw new DaoException(e);
/*     */     } finally {
/*     */       try {
/* 285 */         if (rs != null)
/* 286 */           rs.close();
/* 287 */         if (ps != null)
/* 288 */           ps.close();
/*     */       } catch (SQLException e1) {
/* 290 */         throw new DaoException(e1);
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */   private List<SqlParam> getRealSqlParamsList()
/*     */     throws DaoException
/*     */   {
/* 303 */     List<SqlParam> sqlParamsTmp = new ArrayList();
/*     */     
/* 305 */     if (pagingBuilder == null)
/*     */     {
/* 307 */       if (sqlParams != null) {
/* 308 */         sqlParamsTmp.addAll(sqlParams);
/*     */       }
/*     */       
/* 311 */       if ((whereClause != null) && (whereClause.getSqlParams() != null)) {
/* 312 */         sqlParamsTmp.addAll(whereClause.getSqlParams());
/*     */       }
/*     */     }
/* 315 */     else if (((ConnectionFactory.getDialect() instanceof SqlServerDialect)) || 
/* 316 */       ((ConnectionFactory.getDialect() instanceof AccessDialect)))
/*     */     {
/* 318 */       if (sqlParams != null) {
/* 319 */         sqlParamsTmp.addAll(sqlParams);
/*     */       }
/*     */       
/* 322 */       if ((pagingBuilder.getWhereClause() != null) && (pagingBuilder.getWhereClause().getSqlParams() != null)) {
/* 323 */         sqlParamsTmp.addAll(pagingBuilder.getWhereClause().getSqlParams());
/*     */       }
/*     */       
/* 326 */       if ((pagingBuilder.getPageNum() != null) && (pagingBuilder.getPageNum().intValue() > 1)) {
/* 327 */         if (sqlParams != null) {
/* 328 */           sqlParamsTmp.addAll(sqlParams);
/*     */         }
/*     */         
/* 331 */         if ((pagingBuilder.getWhereClause() != null) && 
/* 332 */           (pagingBuilder.getWhereClause().getSqlParams() != null)) {
/* 333 */           sqlParamsTmp.addAll(pagingBuilder.getWhereClause().getSqlParams());
/*     */         }
/*     */       }
/*     */     } else {
/* 337 */       if (sqlParams != null) {
/* 338 */         sqlParamsTmp.addAll(sqlParams);
/*     */       }
/*     */       
/* 341 */       if ((pagingBuilder.getWhereClause() != null) && (pagingBuilder.getWhereClause().getSqlParams() != null)) {
/* 342 */         sqlParamsTmp.addAll(pagingBuilder.getWhereClause().getSqlParams());
/*     */       }
/*     */     }
/*     */     
/*     */ 
/* 347 */     return sqlParamsTmp;
/*     */   }
/*     */   
/*     */   public <T> T findFirst(Class<T> clazz)
/*     */     throws DaoException
/*     */   {
/* 359 */     if (StringUtils.isEmpty(sql)) {
/* 360 */       throw new DaoException("sql can't be empty!");
/*     */     }
/* 362 */     PreparedStatement ps = null;
/* 363 */     ResultSet rs = null;
/* 364 */     String querySql = null;
/*     */     try {
/* 366 */       querySql = SqlParamUtils.buildSql(sql, whereClause, orderClause);
/*     */       
/* 368 */       String debugSqlNum = null;
/* 369 */       if (DaoFactory.getDaoSettings().isDebug()) {
/* 370 */         debugSqlNum = SqlParamUtils.createDebugSqlNum();
/* 371 */         log.debug(SqlParamUtils.showSqlLog(debugSqlNum, querySql));
/*     */       }
/*     */       
/* 374 */       ps = getConnection().prepareStatement(querySql);
/*     */       
/* 376 */       List<SqlParam> sqlParamsTmp = new ArrayList();
/*     */       
/* 378 */       if (sqlParams != null) {
/* 379 */         sqlParamsTmp.addAll(sqlParams);
/*     */       }
/*     */       
/* 382 */       if (WhereClause.isNotEmpty(whereClause)) {
/* 383 */         sqlParamsTmp.addAll(whereClause.getSqlParams());
/*     */       }
/*     */       
/* 386 */       SqlParamUtils.fillSqlParamValues(debugSqlNum, ps, sqlParamsTmp);
/*     */       
/* 388 */       rs = ps.executeQuery();
/* 389 */       ResultSetMetaData rsmd = rs.getMetaData();
/* 390 */       int columnCount = rsmd.getColumnCount();
/*     */       
/* 392 */       if (rs.next()) {
/* 393 */         Row row = new Row();
/* 394 */         String columnName; for (int i = 1; i <= columnCount; i++) {
/* 395 */           columnName = rsmd.getColumnLabel(i).toUpperCase();
/* 396 */           Object value = rs.getObject(i);
/* 397 */           row.put(columnName, RowUtils.toCompatibleValue(dataSourceId, value));
/*     */         }
/* 399 */         T vo = clazz.newInstance();
/*     */         
/* 401 */         RowUtils.copy(vo, row);
/*     */         
/* 403 */         return vo;
/*     */       }
/*     */      
/* 419 */       return null;
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 407 */       log.error(querySql);
/* 408 */       throw new DaoException(e);
/*     */     } finally {
/*     */       try {
/* 411 */         if (rs != null)
/* 412 */           rs.close();
/* 413 */         if (ps != null)
/* 414 */           ps.close();
/*     */       } catch (SQLException e1) {
/* 416 */         throw new DaoException(e1);
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */   public Row findFirst()
/*     */     throws DaoException
/*     */   {
/* 429 */     if (StringUtils.isEmpty(sql)) {
/* 430 */       throw new DaoException("sql can't be empty!");
/*     */     }
/* 432 */     PreparedStatement ps = null;
/* 433 */     ResultSet rs = null;
/*     */     
/* 435 */     row = new Row();
/* 436 */     String querySql = null;
/*     */     try
/*     */     {
/* 439 */       querySql = SqlParamUtils.buildSql(sql, whereClause, orderClause);
/*     */       
/* 441 */       String debugSqlNum = null;
/* 442 */       if (DaoFactory.getDaoSettings().isDebug()) {
/* 443 */         debugSqlNum = SqlParamUtils.createDebugSqlNum();
/* 444 */         log.debug(SqlParamUtils.showSqlLog(debugSqlNum, querySql));
/*     */       }
/*     */       
/* 447 */       ps = getConnection().prepareStatement(querySql);
/*     */       
/* 449 */       List<SqlParam> sqlParamsTmp = new ArrayList();
/*     */       
/* 451 */       if (sqlParams != null) {
/* 452 */         sqlParamsTmp.addAll(sqlParams);
/*     */       }
/*     */       
/* 455 */       if ((whereClause != null) && (whereClause.getSqlParams() != null)) {
/* 456 */         sqlParamsTmp.addAll(whereClause.getSqlParams());
/*     */       }
/*     */       
/* 459 */       SqlParamUtils.fillSqlParamValues(debugSqlNum, ps, sqlParamsTmp);
/*     */       
/* 461 */       rs = ps.executeQuery();
/* 462 */       ResultSetMetaData rsmd = rs.getMetaData();
/* 463 */       int columnCount = rsmd.getColumnCount();
/*     */       
/* 465 */       if (rs.next()) {
/* 466 */         for (int i = 1; i <= columnCount; i++) {
/* 467 */           String columnName = rsmd.getColumnLabel(i).toUpperCase();
/* 468 */           Object value = rs.getObject(i);
/* 469 */           row.put(columnName, RowUtils.toCompatibleValue(dataSourceId, value));
/*     */         }
/* 471 */         return row;
/*     */       }
/*     */       
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/* 487 */       return row;
/*     */     }
/*     */     catch (Exception e)
/*     */     {
/* 475 */       log.error(querySql);
/* 476 */       throw new DaoException(e);
/*     */     } finally {
/*     */       try {
/* 479 */         if (rs != null)
/* 480 */           rs.close();
/* 481 */         if (ps != null)
/* 482 */           ps.close();
/*     */       } catch (SQLException e1) {
/* 484 */         throw new DaoException(e1);
/*     */       }
/*     */     }
/*     */   }
/*     */ }

/* Location:           C:\Users\gaozebin\.gradle\caches\modules-2\files-2.1\com.farseersoft\fsr-dao\4.0.0\94cf87a9c6bdf20b027b0c661be724b0a0d7c494\fsr-dao-4.0.0.jar
 * Qualified Name:     com.farseersoft.dao.Query
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
  • Query的构造函数参数比较多,可查看源码一个个尝试,下面是常见示例
public class QueryTest {
    private String dataSourceId = "default";
 
    @Test
    public void testQueryEmbedSqlParam1() throws DaoException {
        WhereClause whereClause = new WhereClause(dataSourceId);
        whereClause.addEmbedSqlParam("%公司%");
        whereClause.addLike("name", "广州");
 
        List<Row> rows = new Query(
                "select a.* from dm_customer a "
                        + " where exists (select 1 from dm_customer_type where a.typeId = mainId AND typeName like ?)",
                whereClause, dataSourceId).listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQueryEmbedSqlParam2() throws DaoException {
        WhereClause whereClause = new WhereClause(dataSourceId);
        String[] typeIds = new String[] { "10", "11" };
        whereClause.addEmbedSqlParam(typeIds);
 
        List<Row> rows = new Query("select a.* from dm_customer a "
                + " where a.typeId in (select mainId from dm_customer_type where mainId in ("
                + SqlParamUtils.toInClauseParams(typeIds) + "))", whereClause, dataSourceId).listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery10() throws DaoException {
        WhereClause whereClause = new WhereClause(dataSourceId);
        whereClause.addDateRange("createTime", "2017-03-03", null);
        List<Row> rows = new Query("select * from (select a.*,b.typeNo,b.typeName from dm_customer a "
                + "    left join dm_customer_type b on (b.mainId = a.typeId)) SET1", whereClause, dataSourceId).listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery2() throws DaoException {
        WhereClause wc = new WhereClause(dataSourceId);
        wc.addEquals("a.typeId", 10);
//      wc.addLike("a.name", "物芯");
        Query query = new Query("select a.* from dm_customer a", wc, dataSourceId);
        List<Row> rows = query.listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery3() throws DaoException {
        WhereClause wc = new WhereClause(dataSourceId);
        wc.addIn("typeId", new String[] { "4", "10" });
        Query query = new Query("select a.* from dm_customer a where typeId in (?,?)", dataSourceId);
        List<Row> rows = query.listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery3A() throws DaoException {
        Query query = new Query("select a.* from dm_customer a where typeId = ? ", WhereClause.create(4));
        List<Row> rows = query.listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery4() throws DaoException {
        WhereClause wc = new WhereClause();
        wc.addLike("name", "达通市政");
        Query query = new Query("select a.* from dm_customer a", wc, dataSourceId);
        List<Row> rows = query.listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testQuery5() throws DaoException {
        WhereClause wc = new WhereClause(dataSourceId);
        wc.addEquals("a.typeId", 10);
        Query query = new Query("select a.* from dm_customer a where 1=1 " + wc.getAndString(), wc.getSqlParams(), null,
                null, dataSourceId);
        List<Row> rows = query.listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testPagingQuery1() throws DaoException {
        PagingBuilder pb = new PagingBuilder();
        pb.setTableName("dm_customer");
        pb.setPageSize(10);
        pb.setPageNum(1);
 
        WhereClause wc = new WhereClause();
        wc.addEquals("typeId", 10);
         
        pb.setWhereClause(wc);
 
        List<Row> rows = new Query(pb).listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
    @Test
    public void testPagingQuery2() throws DaoException {
        PagingBuilder pb = new PagingBuilder();
        pb.setSql("select * from dm_customer");
        pb.setPageSize(-1);
        pb.setPageNum(1);
         
        WhereClause wc = new WhereClause();
        wc.addEquals("typeId", 10);
         
        pb.setWhereClause(wc);
         
        List<Row> rows = new Query(pb).listAll();
        for (Row row : rows) {
            System.out.println(row.toString());
        }
    }
 
}

PagingBuilder

分页查询类。

/*     */ package com.farseersoft.dao;
/*     */ 
/*     */ import com.farseersoft.dao.dialect.Dialect;
/*     */ 
/*     */ public class PagingBuilder
/*     */ {
/*     */   protected String dataSourceId;
/*     */   protected String sql;
/*     */   protected String tableName;
/*  14 */   protected String columns = "*";
/*     */   protected String displayColumns;
/*  16 */   protected String displayAlias = "DISPLAY_SET";
/*  17 */   protected Integer pageSize = Integer.valueOf(15);
/*     */   protected Integer pageNum;
/*     */   protected WhereClause whereClause;
/*     */   protected String foreignKeyField;
/*     */   protected Object foreignKey;
/*     */   protected String orderClause;
/*  23 */   protected String primaryKeyField = "mainId";
/*     */   
/*     */   public String getDataSourceId() {
/*  26 */     return dataSourceId;
/*     */   }
/*     */   
/*     */   public void setDataSourceId(String dataSourceId) {
/*  30 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public String getSql() {
/*  34 */     return sql;
/*     */   }
/*     */   
/*     */   public void setSql(String sql) {
/*  38 */     this.sql = sql;
/*     */   }
/*     */   
/*     */   public String getTableName() {
/*  42 */     return tableName;
/*     */   }
/*     */   
/*     */   public void setTableName(String tableName) {
/*  46 */     this.tableName = tableName;
/*     */   }
/*     */   
/*     */   public String getColumns() {
/*  50 */     return columns;
/*     */   }
/*     */   
/*     */   public void setColumns(String columns) {
/*  54 */     this.columns = columns;
/*     */   }
/*     */   
/*     */   public String getDisplayColumns() {
/*  58 */     return displayColumns;
/*     */   }
/*     */   
/*     */   public void setDisplayColumns(String displayColumns) {
/*  62 */     this.displayColumns = displayColumns;
/*     */   }
/*     */   
/*     */   public String getDisplayAlias() {
/*  66 */     return displayAlias;
/*     */   }
/*     */   
/*     */   public void setDisplayAlias(String displayAlias) {
/*  70 */     this.displayAlias = displayAlias;
/*     */   }
/*     */   
/*     */   public Integer getPageSize() {
/*  74 */     return pageSize;
/*     */   }
/*     */   
/*     */   public void setPageSize(Integer pageSize) {
/*  78 */     this.pageSize = pageSize;
/*     */   }
/*     */   
/*     */   public Integer getPageNum() {
/*  82 */     return pageNum;
/*     */   }
/*     */   
/*     */   public void setPageNum(Integer pageNum) {
/*  86 */     this.pageNum = pageNum;
/*     */   }
/*     */   
/*     */   public WhereClause getWhereClause() {
/*  90 */     return whereClause;
/*     */   }
/*     */   
/*     */   public void setWhereClause(WhereClause whereClause) {
/*  94 */     this.whereClause = whereClause;
/*     */   }
/*     */   
/*     */   public String getForeignKeyField() {
/*  98 */     return foreignKeyField;
/*     */   }
/*     */   
/*     */   public void setForeignKeyField(String foreignKeyField) {
/* 102 */     this.foreignKeyField = foreignKeyField;
/*     */   }
/*     */   
/*     */   public Object getForeignKey() {
/* 106 */     return foreignKey;
/*     */   }
/*     */   
/*     */   public void setForeignKey(Object foreignKey) {
/* 110 */     this.foreignKey = foreignKey;
/*     */   }
/*     */   
/*     */   public String getOrderClause() {
/* 114 */     return orderClause;
/*     */   }
/*     */   
/*     */   public void setOrderClause(String orderClause) {
/* 118 */     this.orderClause = orderClause;
/*     */   }
/*     */   
/*     */   public String getPrimaryKeyField() {
/* 122 */     return primaryKeyField;
/*     */   }
/*     */   
/*     */   public void setPrimaryKeyField(String primaryKeyField) {
/* 126 */     this.primaryKeyField = primaryKeyField;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String build()
/*     */     throws DaoException
/*     */   {
/* 136 */     return ConnectionFactory.getSession(dataSourceId).getDialect().createPaging(this);
/*     */   }
/*     */ }

WhereClause

where子句查询设置类。

/*     */ package com.farseersoft.dao;
/*     */ 
/*     */ import com.farseersoft.dao.dialect.Dialect;
/*     */ import com.farseersoft.dao.dialect.whereclause.DialectWhereClause;
/*     */ import com.farseersoft.dao.wc.WhereClauseItem;
/*     */ import com.farseersoft.util.StringUtils;
/*     */ import java.util.ArrayList;
/*     */ import java.util.List;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class WhereClause
/*     */   implements SqlParamContainer
/*     */ {
/*     */   private String dataSourceId;
/*     */   private DialectWhereClause dialectWhereClause;
/*     */   private String logic;
/*     */   private List<SqlParam> embedSqlParams;
/*     */   private List<SqlParam> sqlParams;
/*  24 */   private StringBuffer sqlBuffer = new StringBuffer();
/*     */   
/*     */ 
/*     */   public WhereClause() {}
/*     */   
/*     */ 
/*     */   public WhereClause(String dataSourceId)
/*     */   {
/*  32 */     this.dataSourceId = dataSourceId;
/*     */   }
/*     */   
/*     */   public WhereClause(DialectWhereClause dialectWhereClause)
/*     */   {
/*  37 */     this.dialectWhereClause = dialectWhereClause;
/*     */   }
/*     */   
/*     */   public DialectWhereClause getDWC() throws DaoException {
/*  41 */     if (dialectWhereClause == null) {
/*  42 */       dialectWhereClause = ConnectionFactory.getSession(dataSourceId).getDialect().getWhereClause();
/*  43 */       dialectWhereClause.setDataSourceId(dataSourceId);
/*     */     }
/*  45 */     return dialectWhereClause;
/*     */   }
/*     */   
/*     */   public String getDataSourceId() {
/*  49 */     return dataSourceId;
/*     */   }
/*     */   
/*     */   public void setDataSourceId(String dataSourceId) {
/*  53 */     this.dataSourceId = dataSourceId;
/*  54 */     if (dialectWhereClause != null) {
/*  55 */       dialectWhereClause.setDataSourceId(dataSourceId);
/*     */     }
/*     */   }
/*     */   
/*     */   public String getLogic() {
/*  60 */     return logic;
/*     */   }
/*     */   
/*     */   public void setLogic(String logic) {
/*  64 */     this.logic = logic;
/*     */   }
/*     */   
/*     */   public StringBuffer getSqlBuffer() {
/*  68 */     return sqlBuffer;
/*     */   }
/*     */   
/*     */   public void setSqlBuffer(StringBuffer sqlBuffer) {
/*  72 */     this.sqlBuffer = sqlBuffer;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public void clearItems()
/*     */   {
/*  79 */     if (sqlParams != null) {
/*  80 */       sqlParams.clear();
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addSqlParam(Object value)
/*     */   {
/*  90 */     if (sqlParams == null) {
/*  91 */       sqlParams = new ArrayList();
/*     */     }
/*  93 */     sqlParams.add(new SqlParam(value));
/*  94 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public void clearSqlParams()
/*     */   {
/* 101 */     if (sqlParams != null) {
/* 102 */       sqlParams.clear();
/*     */     }
/*     */   }
/*     */   
/*     */   public List<SqlParam> getSqlParams() {
/* 107 */     if (embedSqlParams == null) {
/* 108 */       return sqlParams;
/*     */     }
/* 110 */     List<SqlParam> all = new ArrayList();
/* 111 */     all.addAll(embedSqlParams);
/* 112 */     if (sqlParams != null) {
/* 113 */       all.addAll(sqlParams);
/*     */     }
/* 115 */     return all;
/*     */   }
/*     */   
/*     */   public void setSqlParams(List<SqlParam> sqlParams)
/*     */   {
/* 120 */     this.sqlParams = sqlParams;
/*     */   }
/*     */   
/*     */   public List<SqlParam> getEmbedSqlParams() {
/* 124 */     return embedSqlParams;
/*     */   }
/*     */   
/*     */   public void setEmbedSqlParams(List<SqlParam> embedSqlParams) {
/* 128 */     this.embedSqlParams = embedSqlParams;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addEmbedSqlParam(Object value)
/*     */   {
/* 138 */     if (embedSqlParams == null) {
/* 139 */       embedSqlParams = new ArrayList();
/*     */     }
/*     */     
/* 142 */     if ((value instanceof Object[])) {
/* 143 */       for (Object val : (Object[])value) {
/* 144 */         embedSqlParams.add(new SqlParam(val));
/*     */       }
/*     */     } else {
/* 147 */       embedSqlParams.add(new SqlParam(value));
/*     */     }
/* 149 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addEmbedSqlParams(List<SqlParam> sqlParams)
/*     */   {
/* 159 */     if (sqlParams != null) {
/* 160 */       if (embedSqlParams == null) {
/* 161 */         embedSqlParams = new ArrayList();
/*     */       }
/*     */       
/* 164 */       for (SqlParam sqlParam : sqlParams) {
/* 165 */         embedSqlParams.add(sqlParam);
/*     */       }
/*     */     }
/* 168 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void addLikeParam(Object value)
/*     */   {
/* 177 */     addSqlParam(buildLikeVal(value));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   private String buildLikeVal(Object val)
/*     */   {
/* 187 */     return "%" + val + "%";
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public void clear()
/*     */   {
/* 194 */     sqlBuffer = new StringBuffer();
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public WhereClause clone()
/*     */   {
/* 201 */     WhereClause wc = new WhereClause(dataSourceId);
/* 202 */     wc.setSqlBuffer(sqlBuffer);
/* 203 */     wc.setEmbedSqlParams(embedSqlParams);
/* 204 */     wc.setSqlParams(sqlParams);
/* 205 */     return wc;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public void merge(WhereClause whereClause)
/*     */   {
/* 214 */     if (whereClause != null) {
/* 215 */       sqlBuffer.append(whereClause.getAndString());
/* 216 */       if (whereClause.getSqlParams() != null) {
/* 217 */         for (SqlParam sqlParam : whereClause.getSqlParams()) {
/* 218 */           if (sqlParams == null) {
/* 219 */             sqlParams = new ArrayList();
/*     */           }
/* 221 */           sqlParams.add(sqlParam);
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addItem(WhereClauseItem item)
/*     */     throws DaoException
/*     */   {
/* 235 */     if (item != null) {
/* 236 */       sqlBuffer.append(item.toWhereClauseString(this));
/*     */     }
/* 238 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addCustom(String customQueryString)
/*     */   {
/* 248 */     if (StringUtils.isNotEmpty(customQueryString)) {
/* 249 */       sqlBuffer.append(" AND " + customQueryString);
/*     */     }
/* 251 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLike(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 262 */     sqlBuffer.append(getDWC().like(this, columnName, value));
/* 263 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLike(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 276 */     sqlBuffer.append(getDWC().like(this, columnName, value, ignoreEmpty));
/* 277 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotLike(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 288 */     sqlBuffer.append(getDWC().notLike(this, columnName, value));
/* 289 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotLike(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 302 */     sqlBuffer.append(getDWC().notLike(this, columnName, value, ignoreEmpty));
/* 303 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addEquals(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 314 */     return addEquals(columnName, value, true);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addEquals(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 327 */     sqlBuffer.append(getDWC().eq(this, columnName, value, ignoreEmpty));
/* 328 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addUnEquals(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 339 */     sqlBuffer.append(getDWC().ne(this, columnName, value));
/* 340 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addUnEquals(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 353 */     sqlBuffer.append(getDWC().ne(this, columnName, value, ignoreEmpty));
/* 354 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addGt(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 365 */     sqlBuffer.append(getDWC().gt(this, columnName, value));
/* 366 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addGt(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 379 */     sqlBuffer.append(getDWC().gt(this, columnName, value, ignoreEmpty));
/* 380 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addGteq(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 391 */     sqlBuffer.append(getDWC().gteq(this, columnName, value));
/* 392 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addGteq(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 405 */     sqlBuffer.append(getDWC().gteq(this, columnName, value, ignoreEmpty));
/* 406 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLt(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 417 */     sqlBuffer.append(getDWC().lt(this, columnName, value));
/* 418 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLt(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 431 */     sqlBuffer.append(getDWC().lt(this, columnName, value, ignoreEmpty));
/* 432 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLteq(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 443 */     sqlBuffer.append(getDWC().lteq(this, columnName, value));
/* 444 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLteq(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 457 */     sqlBuffer.append(getDWC().lteq(this, columnName, value, ignoreEmpty));
/* 458 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIsNull(String columnName)
/*     */     throws DaoException
/*     */   {
/* 468 */     sqlBuffer.append(getDWC().isNull(columnName));
/* 469 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIsNotNull(String columnName)
/*     */     throws DaoException
/*     */   {
/* 479 */     sqlBuffer.append(getDWC().isNotNull(columnName));
/* 480 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addDateRange(String columnName, String startDate, String endDate)
/*     */     throws DaoException
/*     */   {
/* 493 */     sqlBuffer.append(getDWC().dateRange(this, columnName, startDate, endDate));
/* 494 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addDateRange(String columnName, String startDate, String endDate, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 509 */     sqlBuffer.append(getDWC().dateRange(this, columnName, startDate, endDate, ignoreEmpty));
/* 510 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addDoubleDateRange(String startColumnName, String endColumnName, String startDate, String endDate)
/*     */     throws DaoException
/*     */   {
/* 524 */     sqlBuffer.append(getDWC().doubleDateRange(this, startColumnName, endColumnName, startDate, endDate));
/* 525 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addDoubleDateRange(String startColumnName, String endColumnName, String startDate, String endDate, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 541 */     sqlBuffer.append(
/* 542 */       getDWC().doubleDateRange(this, startColumnName, endColumnName, startDate, endDate, ignoreEmpty));
/* 543 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addSubstring(String columnName, String value)
/*     */     throws DaoException
/*     */   {
/* 554 */     sqlBuffer.append(getDWC().substring(this, columnName, value, 0));
/* 555 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addSubstring(String columnName, String value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 568 */     sqlBuffer.append(getDWC().substring(this, columnName, value, 0, ignoreEmpty));
/* 569 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addLen(String columnName, int length, String operator)
/*     */     throws DaoException
/*     */   {
/* 582 */     sqlBuffer.append(getDWC().len(this, columnName, length, operator));
/* 583 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIsEmpty(String columnName)
/*     */     throws DaoException
/*     */   {
/* 594 */     sqlBuffer.append(getDWC().isEmpty(columnName));
/* 595 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIsNotEmpty(String columnName)
/*     */     throws DaoException
/*     */   {
/* 606 */     sqlBuffer.append(getDWC().isNotEmpty(columnName));
/* 607 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addStartsWith(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 619 */     sqlBuffer.append(getDWC().startsWith(this, columnName, value));
/* 620 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addStartsWith(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 631 */     sqlBuffer.append(getDWC().startsWith(this, columnName, value, ignoreEmpty));
/* 632 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotStartsWith(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 643 */     sqlBuffer.append(getDWC().notStartsWith(this, columnName, value));
/* 644 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotStartsWith(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 657 */     sqlBuffer.append(getDWC().notStartsWith(this, columnName, value, ignoreEmpty));
/* 658 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addJsonToQueryString(String jsonWhereClause)
/*     */     throws DaoException
/*     */   {
/* 670 */     sqlBuffer.append(getDWC().jsonToQueryString(this, jsonWhereClause));
/* 671 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addJsonToQueryString(String jsonWhereClause, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 683 */     sqlBuffer.append(getDWC().jsonToQueryString(this, jsonWhereClause, ignoreEmpty));
/* 684 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIn(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 696 */     return addIn(columnName, value, true);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addIn(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 709 */     sqlBuffer.append(getDWC().in(this, columnName, value, ignoreEmpty));
/* 710 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotIn(String columnName, Object value)
/*     */     throws DaoException
/*     */   {
/* 722 */     return addNotIn(columnName, value, false);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNotIn(String columnName, Object value, boolean ignoreEmpty)
/*     */     throws DaoException
/*     */   {
/* 735 */     sqlBuffer.append(getDWC().notin(this, columnName, value, true));
/* 736 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public WhereClause addNumRange(String columnName, Object startNum, Object endNum)
/*     */     throws DaoException
/*     */   {
/* 749 */     sqlBuffer.append(getDWC().numRange(this, columnName, startNum, endNum));
/* 750 */     return this;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isEmpty()
/*     */   {
/* 759 */     return sqlBuffer.length() == 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public boolean isNotEmpty()
/*     */   {
/* 768 */     return sqlBuffer.length() > 0;
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getString()
/*     */   {
/* 777 */     return " 1=1 " + StringUtils.trimToEmpty(logic) + StringUtils.trimToEmpty(sqlBuffer);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getAndString()
/*     */   {
/* 786 */     return " " + StringUtils.trimToEmpty(sqlBuffer);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public String getOrString()
/*     */   {
/* 795 */     return " OR (" + getString() + ")";
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static boolean isEmpty(WhereClause whereClause)
/*     */   {
/* 809 */     return (whereClause == null) || ((whereClause.isEmpty()) && (
/* 810 */       (whereClause.getSqlParams() == null) || (whereClause.getSqlParams().size() == 0)));
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static boolean isNotEmpty(WhereClause whereClause)
/*     */   {
/* 820 */     return !isEmpty(whereClause);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static WhereClause create(Object... params)
/*     */   {
/* 830 */     WhereClause wc = new WhereClause();
/* 831 */     for (Object param : params) {
/* 832 */       wc.addSqlParam(param);
/*     */     }
/* 834 */     return wc;
/*     */   }
/*     */ }

/* Location:           C:\Users\gaozebin\.gradle\caches\modules-2\files-2.1\com.farseersoft\fsr-dao\4.0.0\94cf87a9c6bdf20b027b0c661be724b0a0d7c494\fsr-dao-4.0.0.jar
 * Qualified Name:     com.farseersoft.dao.WhereClause
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值