SysDictDaoImpl.java 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. package com.ydtech.modules.admin.dao.impl;
  2. import com.ydtech.modules.admin.dao.SysDictDao;
  3. import com.ydtech.modules.admin.model.SysDict;
  4. import com.ydtech.core.page.PageResult;
  5. import com.github.drinkjava2.jdialects.Dialect;
  6. import org.springframework.beans.factory.annotation.Autowired;
  7. import org.springframework.jdbc.core.JdbcTemplate;
  8. import org.springframework.jdbc.core.PreparedStatementCreator;
  9. import org.springframework.jdbc.core.BatchPreparedStatementSetter;
  10. import org.springframework.jdbc.core.RowMapper;
  11. import org.springframework.jdbc.support.GeneratedKeyHolder;
  12. import org.springframework.jdbc.support.KeyHolder;
  13. import org.springframework.stereotype.Repository;
  14. import javax.sql.DataSource;
  15. import java.sql.Connection;
  16. import java.sql.PreparedStatement;
  17. import java.sql.ResultSet;
  18. import java.sql.SQLException;
  19. import java.util.List;
  20. import java.util.ArrayList;
  21. @Repository
  22. public class SysDictDaoImpl implements SysDictDao {
  23. @Autowired
  24. public DataSource dataSource;
  25. public static class SysDictRowMapper implements RowMapper {
  26. public SysDict mapRow(ResultSet resultSet, int rowNum) throws SQLException {
  27. SysDict model = new SysDict();
  28. model.setId(resultSet.getLong("id"));
  29. model.setValue(resultSet.getString("value"));
  30. model.setLabel(resultSet.getString("label"));
  31. model.setItemname(resultSet.getString("itemname"));
  32. model.setDescription(resultSet.getString("description"));
  33. model.setSort(resultSet.getDouble("sort"));
  34. model.setCreateBy(resultSet.getString("create_by"));
  35. model.setCreateTime(resultSet.getDate("create_time"));
  36. model.setLastUpdateBy(resultSet.getString("last_update_by"));
  37. model.setLastUpdateTime(resultSet.getDate("last_update_time"));
  38. model.setRemarks(resultSet.getString("remarks"));
  39. model.setDelFlag(resultSet.getInt("del_flag"));
  40. return model;
  41. }
  42. }
  43. @Override
  44. public SysDict selectByPk(Long id) {
  45. String sql = "select t.id, t.value, t.label, t.itemname, t.description, t.sort, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.remarks, t.del_flag from sys_dict t where id=?";
  46. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  47. return (SysDict) jdbcTemplate.queryForObject(sql,
  48. new Object[]{id}, new SysDictRowMapper());
  49. }
  50. @Override
  51. public List<SysDict> selectAll() {
  52. String sql = "select t.id, t.value, t.label, t.itemname, t.description, t.sort, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.remarks, t.del_flag from sys_dict t ";
  53. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  54. return jdbcTemplate.query(sql, new SysDictRowMapper());
  55. }
  56. public List<SysDict> selectList(String whereCase, Object[] paramValues) {
  57. String sql = "select t.id, t.value, t.label, t.itemname, t.description, t.sort, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.remarks, t.del_flag from sys_dict t " + whereCase;
  58. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  59. return jdbcTemplate.query(sql, paramValues, new SysDictRowMapper());
  60. }
  61. public Integer count(String whereCase, Object[] paramValues) {
  62. String sql = "select count(1) from sys_dict t " + whereCase;
  63. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  64. return jdbcTemplate.queryForObject(sql, paramValues, Integer.class);
  65. }
  66. public PageResult selectPaging(int pageNumber, int pageSize, String whereCase, Object[] paramValues) {
  67. Dialect dialect = Dialect.guessDialect(dataSource);
  68. String sql = dialect.pagin(pageNumber, pageSize, "select t.id, t.value, t.label, t.itemname, t.description, t.sort, t.create_by, t.create_time, t.last_update_by, t.last_update_time, t.remarks, t.del_flag from sys_dict t " + whereCase);
  69. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  70. List<SysDict> recordList = jdbcTemplate.query(sql, paramValues, new SysDictRowMapper());
  71. int totalCount = count(whereCase, paramValues);
  72. PageResult PageResult = new PageResult(pageNumber, pageSize, totalCount, recordList);
  73. return PageResult;
  74. }
  75. @Override
  76. public Integer insert(SysDict model) {
  77. String sql = "insert into sys_dict ( id, value, label, itemname, description, sort, create_by, create_time, last_update_by, last_update_time, remarks, del_flag) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ";
  78. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  79. Object[] params = new Object[]{model.getId(), model.getValue(), model.getLabel(), model.getItemname(), model.getDescription(), model.getSort(), model.getCreateBy(), model.getCreateTime(), model.getLastUpdateBy(), model.getLastUpdateTime(), model.getRemarks(), model.getDelFlag()};
  80. int out = jdbcTemplate.update(sql, params);
  81. return out;
  82. }
  83. @Override
  84. public Integer insertReturnPk(SysDict model) {
  85. String sql = "insert into sys_dict ( id, value, label, itemname, description, sort, create_by, create_time, last_update_by, last_update_time, remarks, del_flag) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) ";
  86. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  87. KeyHolder keyHolder = new GeneratedKeyHolder();
  88. jdbcTemplate.update(new PreparedStatementCreator() {
  89. @Override
  90. public PreparedStatement createPreparedStatement(Connection conn) throws SQLException {
  91. PreparedStatement ps = conn.prepareStatement(sql, PreparedStatement.RETURN_GENERATED_KEYS);
  92. ps.setObject(1, model.getId());
  93. ps.setObject(2, model.getValue());
  94. ps.setObject(3, model.getLabel());
  95. ps.setObject(4, model.getItemname());
  96. ps.setObject(5, model.getDescription());
  97. ps.setObject(6, model.getSort());
  98. ps.setObject(7, model.getCreateBy());
  99. ps.setObject(8, model.getCreateTime());
  100. ps.setObject(9, model.getLastUpdateBy());
  101. ps.setObject(10, model.getLastUpdateTime());
  102. ps.setObject(11, model.getRemarks());
  103. ps.setObject(12, model.getDelFlag());
  104. return ps;
  105. }
  106. }, keyHolder);
  107. return keyHolder.getKey().intValue();
  108. }
  109. @Override
  110. public Integer insertSelective(SysDict model) {
  111. StringBuffer sbSql = new StringBuffer();
  112. StringBuffer sbParams = new StringBuffer();
  113. ArrayList<Object> alParamsValues = new ArrayList<Object>();
  114. String pre = "";
  115. if (model.getId() != null) {
  116. sbSql.append(pre + "id");
  117. sbParams.append(pre + "?");
  118. alParamsValues.add(model.getId());
  119. pre = ",";
  120. }
  121. if (model.getValue() != null) {
  122. sbSql.append(pre + "value");
  123. sbParams.append(pre + "?");
  124. alParamsValues.add(model.getValue());
  125. pre = ",";
  126. }
  127. if (model.getLabel() != null) {
  128. sbSql.append(pre + "label");
  129. sbParams.append(pre + "?");
  130. alParamsValues.add(model.getLabel());
  131. pre = ",";
  132. }
  133. if (model.getItemname() != null) {
  134. sbSql.append(pre + "itemname");
  135. sbParams.append(pre + "?");
  136. alParamsValues.add(model.getItemname());
  137. pre = ",";
  138. }
  139. if (model.getDescription() != null) {
  140. sbSql.append(pre + "description");
  141. sbParams.append(pre + "?");
  142. alParamsValues.add(model.getDescription());
  143. pre = ",";
  144. }
  145. if (model.getSort() != null) {
  146. sbSql.append(pre + "sort");
  147. sbParams.append(pre + "?");
  148. alParamsValues.add(model.getSort());
  149. pre = ",";
  150. }
  151. if (model.getCreateBy() != null) {
  152. sbSql.append(pre + "create_by");
  153. sbParams.append(pre + "?");
  154. alParamsValues.add(model.getCreateBy());
  155. pre = ",";
  156. }
  157. if (model.getCreateTime() != null) {
  158. sbSql.append(pre + "create_time");
  159. sbParams.append(pre + "?");
  160. alParamsValues.add(model.getCreateTime());
  161. pre = ",";
  162. }
  163. if (model.getLastUpdateBy() != null) {
  164. sbSql.append(pre + "last_update_by");
  165. sbParams.append(pre + "?");
  166. alParamsValues.add(model.getLastUpdateBy());
  167. pre = ",";
  168. }
  169. if (model.getLastUpdateTime() != null) {
  170. sbSql.append(pre + "last_update_time");
  171. sbParams.append(pre + "?");
  172. alParamsValues.add(model.getLastUpdateTime());
  173. pre = ",";
  174. }
  175. if (model.getRemarks() != null) {
  176. sbSql.append(pre + "remarks");
  177. sbParams.append(pre + "?");
  178. alParamsValues.add(model.getRemarks());
  179. pre = ",";
  180. }
  181. if (model.getDelFlag() != null) {
  182. sbSql.append(pre + "del_flag");
  183. sbParams.append(pre + "?");
  184. alParamsValues.add(model.getDelFlag());
  185. pre = ",";
  186. }
  187. String sql = "INSERT INTO sys_dict (" + sbSql.toString() + ") VALUES (" + sbParams.toString() + ")";
  188. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  189. Object[] params = alParamsValues.toArray();
  190. int out = jdbcTemplate.update(sql, params);
  191. return out;
  192. }
  193. @Override
  194. public Integer update(SysDict model) {
  195. String sql = "update sys_dict set value=?, label=?, itemname=?, description=?, sort=?, create_by=?, create_time=?, last_update_by=?, last_update_time=?, remarks=?, del_flag=? where id=?";
  196. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  197. Object[] params = new Object[]{model.getValue(), model.getLabel(), model.getItemname(), model.getDescription(), model.getSort(), model.getCreateBy(), model.getCreateTime(), model.getLastUpdateBy(), model.getLastUpdateTime(), model.getRemarks(), model.getDelFlag(), model.getId()};
  198. return jdbcTemplate.update(sql, params);
  199. }
  200. @Override
  201. public Integer updateSelective(SysDict model) {
  202. StringBuffer sbSql = new StringBuffer();
  203. StringBuffer sbParams = new StringBuffer();
  204. ArrayList<Object> alParamsValues = new ArrayList<Object>();
  205. String pre = "";
  206. String preWhere = "";
  207. if (model.getValue() != null) {
  208. sbSql.append(pre + "value=?");
  209. alParamsValues.add(model.getValue());
  210. pre = ",";
  211. }
  212. if (model.getLabel() != null) {
  213. sbSql.append(pre + "label=?");
  214. alParamsValues.add(model.getLabel());
  215. pre = ",";
  216. }
  217. if (model.getItemname() != null) {
  218. sbSql.append(pre + "itemname=?");
  219. alParamsValues.add(model.getItemname());
  220. pre = ",";
  221. }
  222. if (model.getDescription() != null) {
  223. sbSql.append(pre + "description=?");
  224. alParamsValues.add(model.getDescription());
  225. pre = ",";
  226. }
  227. if (model.getSort() != null) {
  228. sbSql.append(pre + "sort=?");
  229. alParamsValues.add(model.getSort());
  230. pre = ",";
  231. }
  232. if (model.getCreateBy() != null) {
  233. sbSql.append(pre + "create_by=?");
  234. alParamsValues.add(model.getCreateBy());
  235. pre = ",";
  236. }
  237. if (model.getCreateTime() != null) {
  238. sbSql.append(pre + "create_time=?");
  239. alParamsValues.add(model.getCreateTime());
  240. pre = ",";
  241. }
  242. if (model.getLastUpdateBy() != null) {
  243. sbSql.append(pre + "last_update_by=?");
  244. alParamsValues.add(model.getLastUpdateBy());
  245. pre = ",";
  246. }
  247. if (model.getLastUpdateTime() != null) {
  248. sbSql.append(pre + "last_update_time=?");
  249. alParamsValues.add(model.getLastUpdateTime());
  250. pre = ",";
  251. }
  252. if (model.getRemarks() != null) {
  253. sbSql.append(pre + "remarks=?");
  254. alParamsValues.add(model.getRemarks());
  255. pre = ",";
  256. }
  257. if (model.getDelFlag() != null) {
  258. sbSql.append(pre + "del_flag=?");
  259. alParamsValues.add(model.getDelFlag());
  260. pre = ",";
  261. }
  262. if (model.getId() != null) {
  263. sbParams.append(preWhere + "id=?");
  264. alParamsValues.add(model.getId());
  265. preWhere = ",";
  266. }
  267. if (!sbSql.toString().equalsIgnoreCase("")) {
  268. String sql = "update sys_dict set " + sbSql.toString() + " where " + sbParams.toString();
  269. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  270. Object[] params = alParamsValues.toArray();
  271. return jdbcTemplate.update(sql, params);
  272. }
  273. return 0;
  274. }
  275. @Override
  276. public Integer delete(Long id) {
  277. String sql = "delete from sys_dict where id=?";
  278. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  279. return jdbcTemplate.update(sql, id);
  280. }
  281. @Override
  282. public Integer delete(List<SysDict> lsSysDict) {
  283. String sql = "delete from sys_dict where id=?";
  284. JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
  285. return jdbcTemplate.batchUpdate(sql, new BatchPreparedStatementSetter() {
  286. @Override
  287. public void setValues(PreparedStatement preparedStatement, int i) throws SQLException {
  288. preparedStatement.setLong(1, lsSysDict.get(i).getId());
  289. }
  290. @Override
  291. public int getBatchSize() {
  292. return lsSysDict.size();
  293. }
  294. }).length;
  295. }
  296. }