类 AbstractRepository<T>
- java.lang.Object
-
- ai.yue.library.data.jdbc.dao.AbstractRepository<T>
-
- 类型参数:
T- 映射类
public abstract class AbstractRepository<T> extends Object
AbstractRepository 为 DO 对象提供服务,字段映射支持下划线与驼峰自动识别转换- 从以下版本开始:
- 2019年4月30日
- 作者:
- ylyue
-
-
构造器概要
构造器 构造器 说明 AbstractRepository()
-
方法概要
所有方法 实例方法 抽象方法 具体方法 已过时的方法 修饰符和类型 方法 说明 voiddelete(Long id)删除voiddeleteByBusinessUk(String businessUkValue)删除-通过表业务键voiddeleteLogicByBusinessUk(String businessUkValue)删除-逻辑的voiddeleteSafe(Long id)已过时。请使用:delete(Long)Tget(Long id)单个TgetByBusinessUk(String businessUkValue)单个-By业务键Longinsert(com.alibaba.fastjson.JSONObject paramJson)插入数据Longinsert(Object paramIPO)插入数据-实体Longinsert(Object paramIPO, FieldNamingStrategyEnum fieldNamingStrategyEnum)插入数据-实体voidinsertBatch(com.alibaba.fastjson.JSONObject[] paramJsons)插入数据-批量List<T>listAll()列表-全部PageTVO<T>page(PageIPO pageIPO)分页PageTVO<T>pageDESC(PageIPO pageIPO)分页-降序protected abstract StringtableName()voidupdateByBusinessUk(com.alibaba.fastjson.JSONObject paramJson)更新-By业务键voidupdateById(com.alibaba.fastjson.JSONObject paramJson)更新-ById
-
-
-
方法详细资料
-
tableName
protected abstract String tableName()
-
insert
public Long insert(com.alibaba.fastjson.JSONObject paramJson)
插入数据- 参数:
paramJson- 参数- 返回:
- 返回主键值
-
insert
public Long insert(Object paramIPO)
插入数据-实体默认进行
FieldNamingStrategyEnum.SNAKE_CASE数据库字段命名策略转换- 参数:
paramIPO- 参数IPO(POJO-IPO对象)- 返回:
- 返回主键值
-
insert
public Long insert(Object paramIPO, FieldNamingStrategyEnum fieldNamingStrategyEnum)
插入数据-实体- 参数:
paramIPO- 参数IPO(POJO-IPO对象)fieldNamingStrategyEnum- 数据库字段命名策略- 返回:
- 返回主键值
-
insertBatch
public void insertBatch(com.alibaba.fastjson.JSONObject[] paramJsons)
插入数据-批量- 参数:
paramJsons- 参数
-
delete
public void delete(Long id)
删除数据删除前会先进行条数确认
依赖于接口传入 "id" 参数时慎用此方法,避免有序主键被遍历风险,造成数据越权行为。推荐使用deleteByBusinessUk(String)- 参数:
id- 主键id
-
deleteSafe
@Deprecated public void deleteSafe(Long id)
已过时。请使用:delete(Long)删除-安全的数据删除前会先进行条数确认
- 参数:
id- 主键id
-
deleteByBusinessUk
public void deleteByBusinessUk(String businessUkValue)
删除-通过表业务键数据删除前会先进行条数确认
默认业务键为key
业务键值推荐使用UUID5
- 参数:
businessUkValue- 业务键的唯一值
-
deleteLogicByBusinessUk
public void deleteLogicByBusinessUk(String businessUkValue)
删除-逻辑的数据非真实删除,而是更改 "delete_time" 字段值为时间戳,代表数据已删除
- 参数:
businessUkValue- 业务键的唯一值
-
updateById
public void updateById(com.alibaba.fastjson.JSONObject paramJson)
更新-ById- 参数:
paramJson- 更新所用到的参数(包含主键ID字段)
-
updateByBusinessUk
public void updateByBusinessUk(com.alibaba.fastjson.JSONObject paramJson)
更新-By业务键根据表中业务键进行更新
默认业务键为key
业务键值推荐使用UUID5
- 参数:
paramJson- 更新所用到的参数(包含业务键字段)
-
getByBusinessUk
public T getByBusinessUk(String businessUkValue)
单个-By业务键默认业务键为key
业务键值推荐使用UUID5
- 参数:
businessUkValue- 业务键的唯一值- 返回:
- POJO对象
-
page
public PageTVO<T> page(PageIPO pageIPO)
分页- 参数:
pageIPO- 分页查询参数 PageIPO,所有的条件参数,都将以等于的形式进行SQL拼接- 返回:
- count(总数),data(分页列表数据)
-
-