@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&allowMultiQueries=true&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
*/
本文介绍了使用Java进行数据库操作的相关类,如ConnectionFactory、BaseDAO和Row,以及如何进行分页查询。ConnectionFactory是连接工厂,用于获取数据库连接和管理配置。BaseDAO提供了基本的数据操作,Row类用于存储查询结果。Query类支持复杂的SQL查询和分页功能,WhereClause用于构建WHERE子句。示例展示了如何使用这些类进行条件查询、分页和数据转换。
1288

被折叠的 条评论
为什么被折叠?



