public class SqlTimeMetricsDaoContext extends java.lang.Object implements DaoContext
DaoContextのラッパークラス。
メトリクスは、sql.process.timeという名前になる。
また、メトリクスには以下のタグが設定される。
sql.id: SQLID(無い場合は"None")entity: エンティティクラスの名前(Class.getName())。method: 実行されたDaoContextのメソッドの単純名
引数で渡されたエンティティまたはエンティティのリストが、nullまたは空のリストの場合は、
時間は計測されない(委譲先のメソッドの処理は実行される)。
| Constructor and Description |
|---|
SqlTimeMetricsDaoContext(DaoContext delegate,
io.micrometer.core.instrument.MeterRegistry meterRegistry)
委譲先の
DaoContextとMeterRegistryを指定するコンストラクタ。 |
| Modifier and Type | Method and Description |
|---|---|
<T> void |
batchDelete(java.util.List<T> entities)
エンティティオブジェクトを元に一括削除処理を行う。
エンティティの主キーが削除条件となる。
|
<T> void |
batchInsert(java.util.List<T> entities)
エンティティオブジェクトの情報を一括で登録する。
|
<T> void |
batchUpdate(java.util.List<T> entities)
エンティティオブジェクトの情報を元に一括更新を行う。
DaoContext.update(Object)とは異なり、一括更新処理ではバージョン不一致チェックは行わない。
例えば、バージョン番号が変更になっていた場合はそのレコードのみ更新されずに処理は正常に終了する。
バージョン番号のチェックを必要とする場合には、DaoContext.update(Object)を使用すること。 |
<T> long |
countBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
SQL_IDをもとに結果件数を取得する。
|
DaoContext |
defer()
検索結果の取得を遅延させる。
|
<T> int |
delete(T entity)
エンティティオブジェクトを元に削除処理を行う。
エンティティの主キーが削除条件となる。
|
<T> EntityList<T> |
findAll(java.lang.Class<T> entityClass)
全件の検索を行う。
|
<T> EntityList<T> |
findAllBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId)
SQL_IDをもとに検索を行う。
|
<T> EntityList<T> |
findAllBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
SQL_IDをもとにバインド変数を展開して検索処理を行う。
|
<T> T |
findById(java.lang.Class<T> entityClass,
java.lang.Object... id)
プライマリーキーによる検索を行う。
|
<T> T |
findByIdOrNull(java.lang.Class<T> entityClass,
java.lang.Object... id)
プライマリーキーによる検索を行う。
|
<T> T |
findBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
SQL_IDをもとに1件検索を行う。
|
<T> T |
findBySqlFileOrNull(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
SQL_IDをもとに1件検索を行う。
|
DaoContext |
getDelegate()
委譲先の
DaoContextを取得する。 |
io.micrometer.core.instrument.MeterRegistry |
getMeterRegistry()
MeterRegistryを取得する。 |
java.lang.String |
getMetricsDescription()
メトリクスの説明を取得する。
|
java.lang.String |
getMetricsName()
メトリクス名を取得する。
|
<T> void |
insert(T entity)
エンティティオブジェクトを元に登録処理を行う。
|
DaoContext |
page(long page)
ページングの何ページ目を検索するかを指定する。
|
DaoContext |
per(long per)
ページングの1ページにつき何件表示するかを指定する。
|
void |
setMetricsDescription(java.lang.String metricsDescription)
メトリクスの説明を設定する。
|
void |
setMetricsName(java.lang.String metricsName)
メトリクスの名前を設定する。
|
<T> int |
update(T entity)
エンティティオブジェクトを元に更新処理を行う。
エンティティの主キーが更新条件となる。
|
public SqlTimeMetricsDaoContext(DaoContext delegate, io.micrometer.core.instrument.MeterRegistry meterRegistry)
DaoContextとMeterRegistryを指定するコンストラクタ。delegate - 委譲先のDaoContextmeterRegistry - MeterRegistrypublic <T> T findById(java.lang.Class<T> entityClass,
java.lang.Object... id)
DaoContextfindById in interface DaoContextT - エンティティクラスの型entityClass - エンティティクラスid - プライマリーキー (複合キーの場合は定義順)public <T> T findByIdOrNull(java.lang.Class<T> entityClass,
java.lang.Object... id)
DaoContextfindByIdOrNull in interface DaoContextT - エンティティクラスの型entityClass - エンティティクラスid - プライマリーキー (複合キーの場合は定義順)public <T> EntityList<T> findAll(java.lang.Class<T> entityClass)
DaoContextfindAll in interface DaoContextT - エンティティクラスの型entityClass - エンティティクラスpublic <T> EntityList<T> findAllBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId, java.lang.Object params)
DaoContextfindAllBySqlFile in interface DaoContextT - 検索結果をマッピングするBeanクラスの型entityClass - 検索結果をマッピングするBeanクラスsqlId - SQL_IDparams - バインド変数public <T> EntityList<T> findAllBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId)
DaoContextfindAllBySqlFile in interface DaoContextT - 検索結果をマッピングするBeanクラスの型entityClass - 検索結果をマッピングするBeanクラスsqlId - SQL_IDpublic <T> T findBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
DaoContextfindBySqlFile in interface DaoContextT - 検索結果をマッピングするBeanクラスの型entityClass - 検索結果をマッピングするBeanクラスsqlId - SQL_IDparams - バインド変数public <T> T findBySqlFileOrNull(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
DaoContextfindBySqlFileOrNull in interface DaoContextT - 検索結果をマッピングするBeanクラスの型entityClass - 検索結果をマッピングするBeanクラスsqlId - SQL_IDparams - バインド変数public <T> long countBySqlFile(java.lang.Class<T> entityClass,
java.lang.String sqlId,
java.lang.Object params)
DaoContextcountBySqlFile in interface DaoContextT - エンティティクラスの型entityClass - エンティティクラスsqlId - SQL_IDparams - バインド変数public <T> int update(T entity)
throws javax.persistence.OptimisticLockException
DaoContextupdate in interface DaoContextT - エンティティクラスの型entity - エンティティオブジェクトjavax.persistence.OptimisticLockException - バージョン不一致で更新対象が存在しない場合public <T> void batchUpdate(java.util.List<T> entities)
DaoContextDaoContext.update(Object)とは異なり、一括更新処理ではバージョン不一致チェックは行わない。
例えば、バージョン番号が変更になっていた場合はそのレコードのみ更新されずに処理は正常に終了する。
バージョン番号のチェックを必要とする場合には、DaoContext.update(Object)を使用すること。batchUpdate in interface DaoContextT - エンティティクラスの型entities - 更新対象のエンティティリストpublic <T> void insert(T entity)
DaoContextinsert in interface DaoContextT - エンティティクラスの型entity - エンティティオブジェクトpublic <T> void batchInsert(java.util.List<T> entities)
DaoContextbatchInsert in interface DaoContextT - エンティティクラスの型entities - エンティティリストpublic <T> int delete(T entity)
DaoContextdelete in interface DaoContextT - エンティティクラスの型entity - エンティティオブジェクトpublic <T> void batchDelete(java.util.List<T> entities)
DaoContextbatchDelete in interface DaoContextT - エンティティクラスの型entities - エンティティリストpublic DaoContext page(long page)
DaoContextpage in interface DaoContextpage - ページ番号(1-origin)public DaoContext per(long per)
DaoContextper in interface DaoContextper - ページ内表示件数public DaoContext defer()
DaoContextdefer in interface DaoContextpublic void setMetricsName(java.lang.String metricsName)
metricsName - メトリクスの名前public java.lang.String getMetricsName()
public void setMetricsDescription(java.lang.String metricsDescription)
metricsDescription - メトリクスの説明public java.lang.String getMetricsDescription()
public DaoContext getDelegate()
DaoContextを取得する。DaoContextpublic io.micrometer.core.instrument.MeterRegistry getMeterRegistry()
MeterRegistryを取得する。MeterRegistry