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
- 委譲先のDaoContext
meterRegistry
- MeterRegistry
public <T> T findById(java.lang.Class<T> entityClass, java.lang.Object... id)
DaoContext
findById
in interface DaoContext
T
- エンティティクラスの型entityClass
- エンティティクラスid
- プライマリーキー (複合キーの場合は定義順)public <T> T findByIdOrNull(java.lang.Class<T> entityClass, java.lang.Object... id)
DaoContext
findByIdOrNull
in interface DaoContext
T
- エンティティクラスの型entityClass
- エンティティクラスid
- プライマリーキー (複合キーの場合は定義順)public <T> EntityList<T> findAll(java.lang.Class<T> entityClass)
DaoContext
findAll
in interface DaoContext
T
- エンティティクラスの型entityClass
- エンティティクラスpublic <T> EntityList<T> findAllBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId, java.lang.Object params)
DaoContext
findAllBySqlFile
in interface DaoContext
T
- 検索結果をマッピングするBeanクラスの型entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数public <T> EntityList<T> findAllBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId)
DaoContext
findAllBySqlFile
in interface DaoContext
T
- 検索結果をマッピングするBeanクラスの型entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDpublic <T> T findBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId, java.lang.Object params)
DaoContext
findBySqlFile
in interface DaoContext
T
- 検索結果をマッピングするBeanクラスの型entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数public <T> T findBySqlFileOrNull(java.lang.Class<T> entityClass, java.lang.String sqlId, java.lang.Object params)
DaoContext
findBySqlFileOrNull
in interface DaoContext
T
- 検索結果をマッピングするBeanクラスの型entityClass
- 検索結果をマッピングするBeanクラスsqlId
- SQL_IDparams
- バインド変数public <T> long countBySqlFile(java.lang.Class<T> entityClass, java.lang.String sqlId, java.lang.Object params)
DaoContext
countBySqlFile
in interface DaoContext
T
- エンティティクラスの型entityClass
- エンティティクラスsqlId
- SQL_IDparams
- バインド変数public <T> int update(T entity) throws javax.persistence.OptimisticLockException
DaoContext
update
in interface DaoContext
T
- エンティティクラスの型entity
- エンティティオブジェクトjavax.persistence.OptimisticLockException
- バージョン不一致で更新対象が存在しない場合public <T> void batchUpdate(java.util.List<T> entities)
DaoContext
DaoContext.update(Object)
とは異なり、一括更新処理ではバージョン不一致チェックは行わない。
例えば、バージョン番号が変更になっていた場合はそのレコードのみ更新されずに処理は正常に終了する。
バージョン番号のチェックを必要とする場合には、DaoContext.update(Object)
を使用すること。batchUpdate
in interface DaoContext
T
- エンティティクラスの型entities
- 更新対象のエンティティリストpublic <T> void insert(T entity)
DaoContext
insert
in interface DaoContext
T
- エンティティクラスの型entity
- エンティティオブジェクトpublic <T> void batchInsert(java.util.List<T> entities)
DaoContext
batchInsert
in interface DaoContext
T
- エンティティクラスの型entities
- エンティティリストpublic <T> int delete(T entity)
DaoContext
delete
in interface DaoContext
T
- エンティティクラスの型entity
- エンティティオブジェクトpublic <T> void batchDelete(java.util.List<T> entities)
DaoContext
batchDelete
in interface DaoContext
T
- エンティティクラスの型entities
- エンティティリストpublic DaoContext page(long page)
DaoContext
page
in interface DaoContext
page
- ページ番号(1-origin)public DaoContext per(long per)
DaoContext
per
in interface DaoContext
per
- ページ内表示件数public DaoContext defer()
DaoContext
defer
in interface DaoContext
public 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
を取得する。DaoContext
public io.micrometer.core.instrument.MeterRegistry getMeterRegistry()
MeterRegistry
を取得する。MeterRegistry