Package ru.bgcrm.dao
Class CommonDAO
- java.lang.Object
-
- ru.bgcrm.dao.CommonDAO
-
- Direct Known Subclasses:
AddressDAO
,BGBillingDAO
,CommonContractDAO
,CommonLinkDAO
,ConfigDAO
,ContractCustomerDAO
,CounterDAO
,CustomerDAO
,CustomerGroupDAO
,DispatchDAO
,DocumentDAO
,EntityLogDAO
,FileDataDAO
,IfaceStateDAO
,MessageDAO
,MobileDAO
,NewsDAO
,ObjectLogDAO
,ParamDAO
,ParamGroupDAO
,ParamLogDAO
,ParamValueDAO
,ParamValueSearchDAO
,PatternDAO
,PeriodicDAO
,ProcessDAO
,ProcessTypeDAO
,PropertiesDAO
,QueueDAO
,ReportDAO
,SavedFilterDAO
,SearchDAO
,ShiftDAO
,StatusChangeDAO
,StatusDAO
,TabelDAO
,TaskDAO
,UserDAO
,UserGroupDAO
,WorkTaskDAO
,WorkTypeDAO
public class CommonDAO extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static interface
CommonDAO.ObjectExtractor<T>
protected class
CommonDAO.RecordUpdater<T extends Id>
-
Field Summary
Fields Modifier and Type Field Description protected java.sql.Connection
con
protected Log
log
protected static java.lang.String
SQL_AND
protected static java.lang.String
SQL_DELETE
protected static java.lang.String
SQL_DESC
protected static java.lang.String
SQL_FROM
protected static java.lang.String
SQL_GROUP_BY
protected static java.lang.String
SQL_INNER_JOIN
protected static java.lang.String
SQL_INSERT
protected static java.lang.String
SQL_INSERT_IGNORE
protected static java.lang.String
SQL_LEFT_JOIN
protected static java.lang.String
SQL_LIMIT
protected static java.lang.String
SQL_ON_DUP_KEY_UPDATE
protected static java.lang.String
SQL_ORDER_BY
protected static java.lang.String
SQL_REPLACE
protected static java.lang.String
SQL_SELECT
protected static java.lang.String
SQL_SELECT_ALL_FROM
protected static java.lang.String
SQL_SELECT_COUNT_ROWS
protected static java.lang.String
SQL_SET
protected static java.lang.String
SQL_UPDATE
protected static java.lang.String
SQL_WHERE
-
Constructor Summary
Constructors Modifier Constructor Description protected
CommonDAO(java.sql.Connection con)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
deleteById(java.lang.String tableName, int id)
protected <T> T
getById(java.lang.String tableName, int id, CommonDAO.ObjectExtractor<T> extractor)
protected int
getFoundRows(java.sql.PreparedStatement ps)
protected java.util.Map<java.lang.Integer,java.util.Set<java.lang.Integer>>
getGroupedIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn)
protected java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>>
getGroupedIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, java.lang.String posColumn)
protected java.util.Set<java.lang.Integer>
getIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, int id)
protected java.util.List<java.lang.Integer>
getIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, java.lang.String posColumn, int id)
static java.lang.String
getLikePattern(java.lang.String substring, java.lang.String mode)
Deprecated.static java.lang.String
getLikePatternEnd(java.lang.String substring)
Returns SQL LIKE pattern "%" + {@param substring}static java.lang.String
getLikePatternStart(java.lang.String substring)
Returns SQL LIKE pattern {@param substring} + "%"static java.lang.String
getLikePatternSub(java.lang.String substring)
Returns SQL LIKE pattern "%" + {@param substring} + "%"protected java.lang.String
getMySQLLimit(Page page)
Deprecated.protected java.lang.String
getPageLimit(Page page)
Generates page limits.protected java.lang.String
getPeriodSql(Period period, java.lang.String fieldName)
protected int
lastInsertId(java.sql.PreparedStatement ps)
protected int
setPeriodParamValue(Period period, java.sql.PreparedStatement ps, int index)
protected void
setRecordCount(Page page, java.sql.PreparedStatement ps)
protected void
sqlToBgException(java.sql.SQLException e)
protected <T extends Id>
voidupdate(T record, CommonDAO.RecordUpdater<T> updater)
void
updateColumn(java.lang.String tableName, int id, java.lang.String columnName, java.lang.String value)
protected void
updateIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String valueColumn, java.lang.Object id, java.util.Set<java.lang.Integer> values)
protected void
updateIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String valueColumn, java.lang.String posColumn, int id, java.util.List<java.lang.Integer> values)
protected void
updateOrInsert(java.lang.String updatePsQuery, java.lang.String insertPsQuery, java.lang.Object... params)
-
-
-
Field Detail
-
SQL_SELECT
protected static final java.lang.String SQL_SELECT
- See Also:
- Constant Field Values
-
SQL_SELECT_ALL_FROM
protected static final java.lang.String SQL_SELECT_ALL_FROM
- See Also:
- Constant Field Values
-
SQL_SELECT_COUNT_ROWS
protected static final java.lang.String SQL_SELECT_COUNT_ROWS
- See Also:
- Constant Field Values
-
SQL_INSERT_IGNORE
protected static final java.lang.String SQL_INSERT_IGNORE
- See Also:
- Constant Field Values
-
SQL_INSERT
protected static final java.lang.String SQL_INSERT
- See Also:
- Constant Field Values
-
SQL_SET
protected static final java.lang.String SQL_SET
- See Also:
- Constant Field Values
-
SQL_UPDATE
protected static final java.lang.String SQL_UPDATE
- See Also:
- Constant Field Values
-
SQL_DELETE
protected static final java.lang.String SQL_DELETE
- See Also:
- Constant Field Values
-
SQL_FROM
protected static final java.lang.String SQL_FROM
- See Also:
- Constant Field Values
-
SQL_LEFT_JOIN
protected static final java.lang.String SQL_LEFT_JOIN
- See Also:
- Constant Field Values
-
SQL_INNER_JOIN
protected static final java.lang.String SQL_INNER_JOIN
- See Also:
- Constant Field Values
-
SQL_WHERE
protected static final java.lang.String SQL_WHERE
- See Also:
- Constant Field Values
-
SQL_ORDER_BY
protected static final java.lang.String SQL_ORDER_BY
- See Also:
- Constant Field Values
-
SQL_GROUP_BY
protected static final java.lang.String SQL_GROUP_BY
- See Also:
- Constant Field Values
-
SQL_AND
protected static final java.lang.String SQL_AND
- See Also:
- Constant Field Values
-
SQL_LIMIT
protected static final java.lang.String SQL_LIMIT
- See Also:
- Constant Field Values
-
SQL_DESC
protected static final java.lang.String SQL_DESC
- See Also:
- Constant Field Values
-
SQL_REPLACE
protected static final java.lang.String SQL_REPLACE
- See Also:
- Constant Field Values
-
SQL_ON_DUP_KEY_UPDATE
protected static final java.lang.String SQL_ON_DUP_KEY_UPDATE
- See Also:
- Constant Field Values
-
log
protected final Log log
-
con
protected java.sql.Connection con
-
-
Method Detail
-
lastInsertId
protected int lastInsertId(java.sql.PreparedStatement ps) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getFoundRows
protected int getFoundRows(java.sql.PreparedStatement ps) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getLikePattern
@Deprecated public static final java.lang.String getLikePattern(java.lang.String substring, java.lang.String mode)
Deprecated.Will be changed to private later, usegetLikePatternEnd(String)
,getLikePatternStart(String)
,getLikePatternSub(String)
instead.
-
getLikePatternSub
public static final java.lang.String getLikePatternSub(java.lang.String substring)
Returns SQL LIKE pattern "%" + {@param substring} + "%"- Parameters:
substring
-- Returns:
-
getLikePatternStart
public static final java.lang.String getLikePatternStart(java.lang.String substring)
Returns SQL LIKE pattern {@param substring} + "%"- Parameters:
substring
-- Returns:
-
getLikePatternEnd
public static final java.lang.String getLikePatternEnd(java.lang.String substring)
Returns SQL LIKE pattern "%" + {@param substring}- Parameters:
substring
-- Returns:
-
updateOrInsert
protected void updateOrInsert(java.lang.String updatePsQuery, java.lang.String insertPsQuery, java.lang.Object... params) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getMySQLLimit
@Deprecated protected java.lang.String getMySQLLimit(Page page)
Deprecated.UsegetPageLimit(Page)
.
-
getPageLimit
protected java.lang.String getPageLimit(Page page)
Generates page limits.- Parameters:
page
-- Returns:
-
setRecordCount
protected void setRecordCount(Page page, java.sql.PreparedStatement ps) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getPeriodSql
protected java.lang.String getPeriodSql(Period period, java.lang.String fieldName)
-
setPeriodParamValue
protected int setPeriodParamValue(Period period, java.sql.PreparedStatement ps, int index) throws java.sql.SQLException
- Throws:
java.sql.SQLException
-
getIds
protected java.util.Set<java.lang.Integer> getIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, int id) throws BGException
- Throws:
BGException
-
getIds
protected java.util.List<java.lang.Integer> getIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, java.lang.String posColumn, int id) throws BGException
- Throws:
BGException
-
getGroupedIds
protected java.util.Map<java.lang.Integer,java.util.Set<java.lang.Integer>> getGroupedIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn) throws BGException
- Throws:
BGException
-
getGroupedIds
protected java.util.Map<java.lang.Integer,java.util.List<java.lang.Integer>> getGroupedIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String selectColumn, java.lang.String posColumn) throws BGException
- Throws:
BGException
-
getById
protected <T> T getById(java.lang.String tableName, int id, CommonDAO.ObjectExtractor<T> extractor) throws BGException
- Throws:
BGException
-
deleteById
protected void deleteById(java.lang.String tableName, int id) throws BGException
- Throws:
BGException
-
update
protected <T extends Id> void update(T record, CommonDAO.RecordUpdater<T> updater) throws BGException
- Throws:
BGException
-
updateIds
protected void updateIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String valueColumn, java.lang.Object id, java.util.Set<java.lang.Integer> values) throws BGException
- Throws:
BGException
-
updateIds
protected void updateIds(java.lang.String tableName, java.lang.String linkColumn, java.lang.String valueColumn, java.lang.String posColumn, int id, java.util.List<java.lang.Integer> values) throws BGException
- Throws:
BGException
-
updateColumn
public void updateColumn(java.lang.String tableName, int id, java.lang.String columnName, java.lang.String value) throws BGException
- Throws:
BGException
-
sqlToBgException
protected void sqlToBgException(java.sql.SQLException e) throws BGMessageException, BGException
- Throws:
BGMessageException
BGException
-
-