BaseDAO.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. package com.huimv.xt.dao;
  2. import java.sql.SQLException;
  3. import java.util.Date;
  4. import java.util.List;
  5. import java.util.Map;
  6. /**
  7. * BaseDAO基础接口定义
  8. * @author hongjun.hu
  9. * @version 1.0
  10. */
  11. public interface BaseDAO {
  12. /**
  13. * 单表操作:根据动态条件记数记录集
  14. * @param nameSpace 命名空间串
  15. * @param example example实例
  16. * @return 数量
  17. * @throws SQLException
  18. */
  19. public int countByExample(String nameSpace, Object example)
  20. throws SQLException;
  21. /**
  22. * 数据删除
  23. * @param sqlMapId sqlMap标识
  24. * @param parameterObject 参数对象
  25. * @return 插入对象
  26. * @throws SQLException
  27. */
  28. public int delete(String sqlMapId, Object parameterObject)
  29. throws SQLException;
  30. /**
  31. * 单表操作:根据动态条件删除记录集
  32. * @param nameSpace 命名空间串
  33. * @param example example实例
  34. * @return 删除返回
  35. * @throws SQLException
  36. */
  37. public int deleteByExample(String nameSpace, Object example)
  38. throws SQLException;
  39. /**
  40. * 单表操作:根据主键删除记录集
  41. * @param nameSpace 命名空间串
  42. * @param id 主键
  43. * @return 删除返回
  44. * @throws SQLException
  45. */
  46. public int deleteByPrimaryKey(String nameSpace, Long id)
  47. throws SQLException;
  48. /**
  49. * 得到当前数据时间 get.database.date位于XT_CZYH_SqlMap 中
  50. * @return 日期
  51. * @throws SQLException
  52. */
  53. public Date getCurrentDate() throws SQLException;
  54. /**
  55. * 数据插入
  56. * @param sqlMapId sqlMap标识
  57. * @param parameterObject 参数对象
  58. * @return Object 插入对象
  59. * @throws SQLException
  60. */
  61. public Object insert(String sqlMapId, Object parameterObject)
  62. throws SQLException;
  63. /**
  64. * 单表操作:插入记录集
  65. * @param nameSpace 命名空间串
  66. * @param record 实体
  67. * @throws SQLException
  68. */
  69. public void insertRecord(String nameSpace, Object record)
  70. throws SQLException;
  71. /**
  72. * 数据查询并返回全部列表
  73. * @param sqlMapId sqlMap标识
  74. * @param parameterObject 参数对象
  75. * @return 对象集合
  76. * @throws SQLException
  77. */
  78. @SuppressWarnings("rawtypes")
  79. public List queryForList(String sqlMapId, Object parameterObject)
  80. throws SQLException;
  81. /**
  82. * 数据查询并返回指定记录集大小的一个列表
  83. * @param sqlMapId sqlMap标识
  84. * @param parameterObject 参数对象
  85. * @param skipResults - 记录位移量
  86. * @param maxResults - 记录集大小
  87. * @return List 对象List
  88. * @throws SQLException
  89. */
  90. @SuppressWarnings("rawtypes")
  91. public List queryForList(String sqlMapId, Object parameterObject,
  92. int skipResults, int maxResults) throws SQLException;
  93. /**
  94. * 数据查询并返回指定指keyProperty的一个Map对象
  95. * @param sqlMapId sqlMap标识
  96. * @param parameterObject 参数对象
  97. * @param keyProperty Mapkey
  98. * @return Map<String,Object> map对象
  99. * @throws SQLException
  100. */
  101. @SuppressWarnings("rawtypes")
  102. public Map queryForMap(String sqlMapId, Object parameterObject,
  103. String keyProperty) throws SQLException;
  104. /**
  105. * 数据查询并返回指定keyProperty和valueProperty的一个Map对象
  106. * @param sqlMapId sqlMap标识
  107. * @param parameterObject 参数对象
  108. * @param keyProperty keyProperty
  109. * @param valueProperty valueProperty
  110. * @return Map对象
  111. * @throws SQLException
  112. */
  113. @SuppressWarnings("rawtypes")
  114. public Map queryForMap(String sqlMapId, Object parameterObject,
  115. String keyProperty, String valueProperty) throws SQLException;
  116. /**
  117. * 数据查询并返回一个对象
  118. * @param sqlMapId sqlMap标识
  119. * @param parameterObject 参数对象
  120. * @return 插入对象
  121. * @throws SQLException
  122. */
  123. public Object queryForObject(String sqlMapId, Object parameterObject)
  124. throws SQLException;
  125. /**
  126. * 数据查询并返回指定的对象
  127. * @param sqlMapId sqlMap标识
  128. * @param parameterObject 参数对象
  129. * @param resultObject 指定的对象
  130. * @return 插入对象
  131. * @throws SQLException
  132. */
  133. public Object queryForObject(String sqlMapId, Object parameterObject,
  134. Object resultObject) throws SQLException;
  135. /**
  136. * 单表操作:根据条件动态查询记录集
  137. * @param nameSpace sql命名空间
  138. * @param example example
  139. * @return List
  140. * @throws SQLException
  141. */
  142. @SuppressWarnings("rawtypes")
  143. public List selectByExample(String nameSpace, Object example)
  144. throws SQLException;
  145. /**
  146. * 单表操作:根据主键查询记录集
  147. * @param nameSpace sql命名空间
  148. * @param id PrimaryKey
  149. * @return Object
  150. * @throws SQLException
  151. */
  152. public Object selectByPrimaryKey(String nameSpace, Long id)
  153. throws SQLException;
  154. /**
  155. * 数据更新
  156. * @param sqlMapId sqlMap标识
  157. * @param parameterObject 参数对象
  158. * @return 插入对象
  159. * @throws SQLException
  160. */
  161. public int update(String sqlMapId, Object parameterObject)
  162. throws SQLException;
  163. /**
  164. * 单表操作:根据主键更新记录集
  165. * @param nameSpace sql命名空间
  166. * @param record 对象实体
  167. * @return 更新返回代码值
  168. * @throws SQLException
  169. */
  170. public int updateByPrimaryKey(String nameSpace, Object record)
  171. throws SQLException;
  172. /**
  173. * 单表操作:根据主键更新记录集
  174. * @param nameSpace sql命名空间
  175. * @param record 对象实体
  176. * @return 更新返回代码值
  177. * @throws SQLException
  178. */
  179. public int updateByPrimaryKeySelective(String nameSpace, Object record)
  180. throws SQLException;
  181. }