Query接口

  1. /**
  2. * 根据实体对象的非Null字段作为Where条件查询结果集,如果对象的属性值都为null则返回全部数据等同于selectAll
  3. * @param t 实体对象
  4. * @param 实体对象类型
  5. * @return List实体对象列表
  6. */
  7. List select(T t);
  8. /**
  9. * 根据实体对象的@IsKey主键字段的值作为Where条件查询结果,主键字段不能为null
  10. * @param t 实体对象(只设置主键值即可,其他字段值不会读取)
  11. * @param <T> 实体对象类型
  12. * @return 实体对象
  13. */
  14. <T> T selectByPrimaryKey(T t);
  15. /**
  16. * 查询表全部数据
  17. * @param clasz 实体对象的class
  18. * @param <T> 实体对象类型
  19. * @return List实体对象列表
  20. */
  21. <T> List<T> selectAll(Class<T> clasz);
  22. /**
  23. * 根据实体对象的非Null字段作为Where条件查询结果集的Count,如果对象的属性值都为null则Count全表
  24. * @param t 实体对象
  25. * @param <T> 实体对象类型
  26. * @return 结果数量
  27. */
  28. <T> int selectCount(T t);
  29. /**
  30. * 根据实体对象的非Null字段作为Where条件查询结果集,如果对象的属性值都为null则返回结果集的第一条使用的limit 1
  31. * @param t 实体对象
  32. * @param <T> 实体对象类型
  33. * @return 实体对象
  34. */
  35. <T> T selectOne(T t);
  36. /**
  37. * 根据实体对象的@IsKey主键字段的值作为Where条件查询该数据是否存在,主键字段不能为null
  38. * @param t 实体对象(只设置主键值即可,其他字段值不会读取)
  39. * @param <T> 实体对象类型
  40. * @return true存在,fasle不存在
  41. */
  42. <T> boolean existsByPrimaryKey(T t);
  43. /**
  44. * 直接根据sql查询数据,并根据指定的对象类型转化后返回
  45. *
  46. * @param sql 动态sql
  47. * @param beanClass 返回list对象类型
  48. * @param <T> 实体对象类型
  49. * @return list的实体对象类型
  50. */
  51. <T> List<T> query(String sql, Class<T> beanClass);
  52. /**
  53. * 直接根据sql查询返回数据
  54. *
  55. * @param sql 自定义的sql
  56. * @return list map结构的数据
  57. */
  58. List<LinkedHashMap<String, Object>> query(String sql);

Remove接口

  1. /**
  2. * 根据实体对象的非Null字段作为Where条件进行删除操作,如果对象的属性值都为null则删除表全部数据
  3. * @param t 实体对象
  4. * @param 实体对象类型
  5. * @return 返回成功条数
  6. */
  7. int delete(T t);
  8. /**
  9. * 根据实体对象的@IsKey主键字段的值作为Where条件进行删除操作,主键字段不能为null
  10. * @param t 实体对象(只设置主键值即可,其他字段值不会读取)
  11. * @param <T> 实体对象类型
  12. * @return 返回成功条数
  13. */
  14. <T> int deleteByPrimaryKey(T t);

Save接口

  1. /**
  2. * 根据实体对象保存一条数据,主键如果没有设置自增属性则必须不能为null
  3. * @param t 实体对象
  4. * @param 实体对象类型
  5. * @return 实体对象
  6. */
  7. T insert(T t);
  8. /**
  9. * 根据实体对象保存一条数据,如果属性值为null则不插入默认使用数据库的字段默认值,主键如果没有设置自增属性则必须不能为null
  10. * @param t 实体对象
  11. * @param <T> 实体对象类型
  12. * @return 实体对象
  13. */
  14. <T> T insertSelective(T t);

Update接口

  1. /**
  2. * 根据实体对象主键作为Where条件更新其他字段数据,主键必须不能为null
  3. * @param t 实体对象
  4. * @param 实体对象类型
  5. * @return 更新结果
  6. */
  7. boolean updateByPrimaryKey(T t);
  8. /**
  9. * 根据实体对象主键作为Where条件更新其他字段数据,如果其他字段属性值为null则忽略更新,主键必须不能为null
  10. * @param t 实体对象
  11. * @param <T> 实体对象类型
  12. * @return 更新结果
  13. */
  14. <T> boolean updateByPrimaryKeySelective(T t);

分页查询接口

  1. /**
  2. * 根据实体对象的非Null字段作为Where条件查询结果集,如果对象的属性值都为null则返回全部数据等同于selectAll+分页
  3. *
  4. * @param t 实体对象
  5. * @param currentPage 分页参数查询第几页,默认1
  6. * @param pageSize 分页参数每页显示的条数,默认10
  7. * @param orderby 分页使用的排序,有序的Map结构{key(要排序的字段名),value(desc/asc)}
  8. * @param 实体类型
  9. * @return PageResultCommand分页对象类型
  10. */
  11. PageResultCommand search(T t, Integer currentPage, Integer pageSize,LinkedHashMap<String,String> orderby);
  12. /**
  13. * 根据实体对象的非Null字段作为Where条件查询结果集,如果对象的属性值都为null则返回全部数据等同于selectAll+分页
  14. * @param t 实体对象
  15. * @param <T> 实体对象类型,继承BaseModel,通过设置currentPage,pageSize,orderBy这三个属性实现分页
  16. * @return PageResultCommand分页对象类型
  17. */
  18. <T> PageResultCommand<T> search(T t);