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

    科技2023-11-13  92

    @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 */
    Processed: 0.014, SQL: 9