T
- 映射类public abstract class AbstractRepository<T> extends Object
Modifier and Type | Field and Description |
---|---|
protected Db |
db |
protected Class<T> |
mappedClass |
protected String |
tableName |
Constructor and Description |
---|
AbstractRepository() |
Modifier and Type | Method and Description |
---|---|
void |
delete(Long id)
删除
|
void |
deleteByBusinessUk(String businessUkValue)
删除-通过表业务键
|
void |
deleteLogicByBusinessUk(String businessUkValue)
删除-逻辑的
|
T |
get(Long id)
单个
|
T |
getByBusinessUk(String businessUkValue)
单个-By业务键
|
Long |
insert(com.alibaba.fastjson.JSONObject paramJson)
插入数据
|
Long |
insert(Object paramIPO)
插入数据-实体
|
Long |
insert(Object paramIPO,
FieldNamingStrategyEnum fieldNamingStrategyEnum)
插入数据-实体
|
void |
insertBatch(com.alibaba.fastjson.JSONObject[] paramJsons)
插入数据-批量
|
List<T> |
listAll()
列表-全部
|
PageVO<T> |
page(PageIPO pageIPO)
分页
|
PageVO<T> |
pageDESC(PageIPO pageIPO)
分页-降序
|
protected abstract String |
tableName()
设置表名
|
void |
updateByBusinessUk(com.alibaba.fastjson.JSONObject paramJson)
更新-By业务键
|
void |
updateById(com.alibaba.fastjson.JSONObject paramJson)
更新-ById
|
public Long insert(Object paramIPO)
默认进行 FieldNamingStrategyEnum.SNAKE_CASE
数据库字段命名策略转换
paramIPO
- 参数IPO(POJO-IPO对象)public Long insert(Object paramIPO, FieldNamingStrategyEnum fieldNamingStrategyEnum)
paramIPO
- 参数IPO(POJO-IPO对象)fieldNamingStrategyEnum
- 数据库字段命名策略public T get(Long id)
id
- 主键idpublic T getByBusinessUk(String businessUkValue)
默认业务键为key
业务键值推荐使用UUID5
businessUkValue
- 业务键的唯一值public PageVO<T> page(PageIPO pageIPO)
pageIPO
- 分页查询参数 PageIPO,所有的条件参数,都将以等于的形式进行SQL拼接public PageVO<T> pageDESC(PageIPO pageIPO)
pageIPO
- 分页查询参数 PageIPO,所有的条件参数,都将以等于的形式进行SQL拼接protected abstract String tableName()
public Long insert(com.alibaba.fastjson.JSONObject paramJson)
paramJson
- 参数public void insertBatch(com.alibaba.fastjson.JSONObject[] paramJsons)
paramJsons
- 参数public void delete(Long id)
数据删除前会先进行条数确认
依赖于接口传入 参数时慎用此方法
,避免有序主键被遍历风险,造成数据越权行为。推荐使用 deleteByBusinessUk(String)
id
- 主键idpublic void deleteByBusinessUk(String businessUkValue)
数据删除前会先进行条数确认
默认业务键为key
业务键值推荐使用UUID5
businessUkValue
- 业务键的唯一值public void deleteLogicByBusinessUk(String businessUkValue)
数据非真实删除,而是更改 字段值为时间戳,代表数据已删除
businessUkValue
- 业务键的唯一值public void updateById(com.alibaba.fastjson.JSONObject paramJson)
paramJson
- 更新所用到的参数(包含主键ID字段)public void updateByBusinessUk(com.alibaba.fastjson.JSONObject paramJson)
根据表中业务键进行更新
默认业务键为key
业务键值推荐使用UUID5
paramJson
- 更新所用到的参数(包含业务键字段)Copyright © 2022 Pivotal Software, Inc.. All rights reserved.