类 AbstractDAO


  • public abstract class AbstractDAO
    extends Object
    AbstractDAO 为 JSON 对象提供服务
    从以下版本开始:
    2019年4月30日
    作者:
    ylyue
    • 字段详细资料

      • db

        @Autowired
        protected Db db
      • tableName

        protected String tableName
    • 构造器详细资料

      • AbstractDAO

        public AbstractDAO()
    • 方法详细资料

      • tableName

        protected abstract String tableName()
      • insert

        public Long insert​(com.alibaba.fastjson.JSONObject paramJson)
        插入数据
        参数:
        paramJson - 参数
        返回:
        返回主键值
      • 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 - 更新所用到的参数(包含业务键字段)
      • get

        public com.alibaba.fastjson.JSONObject get​(Long id)
        单个
        参数:
        id - 主键id
        返回:
        JSON数据
      • getByBusinessUk

        public com.alibaba.fastjson.JSONObject getByBusinessUk​(String businessUkValue)
        单个-By业务键

        默认业务键为key

        业务键值推荐使用UUID5

        参数:
        businessUkValue - 业务键的唯一值
        返回:
        POJO对象
      • listAll

        public List<com.alibaba.fastjson.JSONObject> listAll()
        列表-全部
        返回:
        列表数据
      • page

        public PageVO page​(PageIPO pageIPO)
        分页
        参数:
        pageIPO - 分页查询参数 PageIPO,所有的条件参数,都将以等于的形式进行SQL拼接
        返回:
        count(总数),data(分页列表数据)
      • pageDESC

        public PageVO pageDESC​(PageIPO pageIPO)
        分页-降序
        参数:
        pageIPO - 分页查询参数 PageIPO,所有的条件参数,都将以等于的形式进行SQL拼接
        返回:
        count(总数),data(分页列表数据)