• Java项目:SSM电器商城系统


    作者主页:源码空间站2022

     简介:Java领域优质创作者、Java项目、学习资料、技术互助

    文末获取源码

    项目介绍

    本项目分为前后台,前台为普通用户登录,后台为管理员登录;

    管理员角色包含以下功能:

    管理员登录,销售统计,商品类目管理,用户管理,商品管理,订单管理,公告管理,留言管理等功能。

    用户角色包含以下功能:

    浏览所有商品,用户登录注册,查看商品,收藏商品,查看购物车,提交订单并查看,修改个人信息并查看,评价商品,查看公告,留言等功能。

    环境需要

    1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
    2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
    3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
    4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 

    5.数据库:MySql 5.7版本;

    6.是否Maven项目:是;

    技术栈

    1. 后端:Spring+SpringMVC+Mybatis

    2. 前端:JSP+CSS+JavaScript+jquery+bootstrap+echarts

    使用说明

    1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
    若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
    3. 将项目中db.properties配置文件中的数据库配置改为自己的配置;
    4. 运行项目,在浏览器中输入http://localhost:8080/shop 登录
    用户账号/密码: user/123456

    管理员账号/密码:admin/111111

    运行截图

    前台界面

    后台界面

    代码相关

    地址管理控制器

    1. @Controller
    2. @RequestMapping("/address")
    3. public class AddressController extends BaseController {
    4. /**
    5. * 依赖注入 start dao/service/===
    6. */
    7. @Autowired
    8. private AddressService addressService;
    9. // --------------------------------------- 华丽分割线 ------------------------------
    10. /*********************************查询列表【不分页】***********************************************/
    11. /**
    12. * 【不分页 => 查询列表 => 无条件】
    13. * @Title: listAll
    14. * @Description: TODO(这里用一句话描述这个方法的作用)
    15. * @param @return 设定文件
    16. * @author
    17. * @return String 返回类型
    18. * @throws
    19. */
    20. @RequestMapping(value = "/listAll")
    21. public String listAll(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
    22. List
      listAll = addressService.listAll();
    23. model.addAttribute("list", listAll);
    24. return "address/address";
    25. }
    26. /**
    27. * 【不分页=》查询列表=>有条件】
    28. * @Title: listByEntity
    29. * @Description: TODO(这里用一句话描述这个方法的作用)
    30. * @param @return 设定文件
    31. * @author
    32. * @return String 返回类型
    33. * @throws
    34. */
    35. @RequestMapping(value = "/listByEntity")
    36. public String listByEntity(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
    37. List
      listAll = addressService.listAllByEntity(address);
    38. model.addAttribute("list", listAll);
    39. return "address/address";
    40. }
    41. /**
    42. * 【不分页=》查询列表=>有条件】
    43. * @Title: listByMap
    44. * @Description: TODO(这里用一句话描述这个方法的作用)
    45. * @param @return 设定文件
    46. * @author
    47. * @return String 返回类型
    48. * @throws
    49. */
    50. @RequestMapping(value = "/listByMap")
    51. public String listByMap(Address address, Model model, HttpServletRequest request, HttpServletResponse response){
    52. //通过map查询
    53. Map params = new HashMap();
    54. if(!isEmpty(address.getName())){
    55. params.put("name", address.getName());
    56. }
    57. if(!isEmpty(address.getPhone())){
    58. params.put("phone", address.getPhone());
    59. }
    60. if(!isEmpty(address.getArea())){
    61. params.put("area", address.getArea());
    62. }
    63. if(!isEmpty(address.getBm())){
    64. params.put("bm", address.getBm());
    65. }
    66. if(!isEmpty(address.getIsUse())){
    67. params.put("isUse", address.getIsUse());
    68. }
    69. List
      listAll = addressService.listByMap(params);
    70. model.addAttribute("list", listAll);
    71. return "address/address";
    72. }
    73. /*********************************查询列表【分页】***********************************************/
    74. /**
    75. * 分页查询 返回list对象(通过对象)
    76. *
    77. * @param request
    78. * @param response
    79. * @return
    80. */
    81. @RequestMapping(value = "/findByObj")
    82. public String findByObj(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    83. //分页查询
    84. Pager
      pagers = addressService.findByEntity(address);
    85. model.addAttribute("pagers", pagers);
    86. //存储查询条件
    87. model.addAttribute("obj", address);
    88. return "address/address";
    89. }
    90. /**
    91. * 分页查询 返回list对象(通过对By Sql)
    92. *
    93. * @param request
    94. * @param response
    95. * @return
    96. */
    97. @RequestMapping(value = "/findBySql")
    98. public String findBySql(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    99. //分页查询
    100. String sql = "SELECT * FROM address WHERE 1=1 ";
    101. if(!isEmpty(address.getName())){
    102. sql += " and name like '%"+address.getName()+"%'";
    103. }
    104. if(!isEmpty(address.getPhone())){
    105. sql += " and phone like '%"+address.getPhone()+"%'";
    106. }
    107. if(!isEmpty(address.getArea())){
    108. sql += " and area like '%"+address.getArea()+"%'";
    109. }
    110. if(!isEmpty(address.getBm())){
    111. sql += " and bm like '%"+address.getBm()+"%'";
    112. }
    113. if(!isEmpty(address.getIsUse())){
    114. sql += " and isUse like '%"+address.getIsUse()+"%'";
    115. }
    116. sql += " ORDER BY ID DESC ";
    117. Pager
      pagers = addressService.findBySqlRerturnEntity(sql);
    118. model.addAttribute("pagers", pagers);
    119. //存储查询条件
    120. model.addAttribute("obj", address);
    121. return "address/address";
    122. }
    123. @RequestMapping(value = "/my")
    124. public String my(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    125. //分页查询
    126. Object attribute = request.getSession().getAttribute("userId");
    127. if (attribute == null){
    128. return "redirect:/login/uLogin";
    129. }
    130. JSONObject js = new JSONObject();
    131. Integer userId = Integer.valueOf(attribute.toString());
    132. String sql = "SELECT * FROM address WHERE 1=1 and userId = "+userId;
    133. if(!isEmpty(address.getName())){
    134. sql += " and name like '%"+address.getName()+"%'";
    135. }
    136. if(!isEmpty(address.getPhone())){
    137. sql += " and phone like '%"+address.getPhone()+"%'";
    138. }
    139. if(!isEmpty(address.getArea())){
    140. sql += " and area like '%"+address.getArea()+"%'";
    141. }
    142. if(!isEmpty(address.getBm())){
    143. sql += " and bm like '%"+address.getBm()+"%'";
    144. }
    145. if(!isEmpty(address.getIsUse())){
    146. sql += " and isUse like '%"+address.getIsUse()+"%'";
    147. }
    148. sql += " ORDER BY ID DESC ";
    149. Pager
      pagers = addressService.findBySqlRerturnEntity(sql);
    150. model.addAttribute("pagers", pagers);
    151. //存储查询条件
    152. model.addAttribute("obj", address);
    153. return "address/my";
    154. }
    155. /**
    156. * 分页查询 返回list对象(通过Map)
    157. *
    158. * @param request
    159. * @param response
    160. * @return
    161. */
    162. @RequestMapping(value = "/findByMap")
    163. public String findByMap(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    164. //通过map查询
    165. Map params = new HashMap();
    166. if(!isEmpty(address.getName())){
    167. params.put("name", address.getName());
    168. }
    169. if(!isEmpty(address.getPhone())){
    170. params.put("phone", address.getPhone());
    171. }
    172. if(!isEmpty(address.getArea())){
    173. params.put("area", address.getArea());
    174. }
    175. if(!isEmpty(address.getBm())){
    176. params.put("bm", address.getBm());
    177. }
    178. if(!isEmpty(address.getIsUse())){
    179. params.put("isUse", address.getIsUse());
    180. }
    181. //分页查询
    182. Pager
      pagers = addressService.findByMap(params);
    183. model.addAttribute("pagers", pagers);
    184. //存储查询条件
    185. model.addAttribute("obj", address);
    186. return "address/address";
    187. }
    188. /**********************************【增删改】******************************************************/
    189. /**
    190. * 跳至添加页面
    191. * @return
    192. */
    193. @RequestMapping(value = "/add")
    194. public String add() {
    195. return "address/add";
    196. }
    197. /**
    198. * 跳至详情页面
    199. * @return
    200. */
    201. @RequestMapping(value = "/view")
    202. public String view(Integer id,Model model) {
    203. Address obj = addressService.load(id);
    204. model.addAttribute("obj",obj);
    205. return "address/view";
    206. }
    207. /**
    208. * 添加执行
    209. * @return
    210. */
    211. @RequestMapping(value = "/exAdd")
    212. public String exAdd(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    213. Object attribute = request.getSession().getAttribute("userId");
    214. if (attribute == null){
    215. return "redirect:/login/uLogin";
    216. }
    217. Integer userId = Integer.valueOf(attribute.toString());
    218. address.setUserId(userId);
    219. address.setIsUse(0);
    220. addressService.insert(address);
    221. return "redirect:/car/view.action";
    222. }
    223. @RequestMapping(value = "/exAdd1")
    224. public String exAdd1(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    225. Object attribute = request.getSession().getAttribute("userId");
    226. if (attribute == null){
    227. return "redirect:/login/uLogin";
    228. }
    229. Integer userId = Integer.valueOf(attribute.toString());
    230. address.setUserId(userId);
    231. address.setIsUse(0);
    232. addressService.insert(address);
    233. return "redirect:/address/my.action";
    234. }
    235. /**
    236. * 跳至修改页面
    237. * @return
    238. */
    239. @RequestMapping(value = "/update")
    240. public String update(Integer id,Model model) {
    241. Address obj = addressService.load(id);
    242. model.addAttribute("obj",obj);
    243. return "address/update";
    244. }
    245. /**
    246. * 添加修改
    247. * @return
    248. */
    249. @RequestMapping(value = "/exUpdate")
    250. public String exUpdate(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    251. //1.通过实体类修改,可以多传修改条件
    252. addressService.updateById(address);
    253. //2.通过主键id修改
    254. //addressService.updateById(address);
    255. return "redirect:/car/view.action";
    256. }
    257. @RequestMapping(value = "/exUpdate2")
    258. public String exUpdate2(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    259. //1.通过实体类修改,可以多传修改条件
    260. addressService.updateById(address);
    261. //2.通过主键id修改
    262. //addressService.updateById(address);
    263. return "redirect:/address/my.action";
    264. }
    265. @RequestMapping(value = "/delete1")
    266. public String delete1(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    267. ///1.通过主键删除
    268. addressService.deleteById(id);
    269. /*以下是多种删除方式*/
    270. return "redirect:/address/my.action";
    271. }
    272. @RequestMapping(value = "/mr")
    273. public String mr(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    274. ///1.通过主键删除
    275. //分页查询
    276. Object attribute = request.getSession().getAttribute("userId");
    277. if (attribute == null){
    278. return "redirect:/login/uLogin";
    279. }
    280. JSONObject js = new JSONObject();
    281. Integer userId = Integer.valueOf(attribute.toString());
    282. String sql = "SELECT * FROM address WHERE 1=1 and userId = "+userId;
    283. List
      listBySqlReturnEntity = addressService.listBySqlReturnEntity(sql);
    284. if (!CollectionUtils.isEmpty(listBySqlReturnEntity)){
    285. for(Address a : listBySqlReturnEntity){
    286. a.setIsUse(0);
    287. addressService.updateById(a);
    288. }
    289. }
    290. Address load = addressService.load(id);
    291. load.setIsUse(1);
    292. addressService.updateById(load);
    293. /*以下是多种删除方式*/
    294. return "redirect:/address/my.action";
    295. }
    296. /**
    297. * 删除通过主键
    298. * @return
    299. */
    300. @RequestMapping(value = "/delete")
    301. public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    302. ///1.通过主键删除
    303. addressService.deleteById(id);
    304. /*以下是多种删除方式*/
    305. // //2.通过实体条件删除
    306. // addressService.deleteByEntity(address);
    307. // //3.通过参数删除
    308. // //通过map查询
    309. // Map params = new HashMap();
    310. //
    311. // if(!isEmpty(address.getName())){
    312. // params.put("name", address.getName());
    313. // }
    314. //
    315. // if(!isEmpty(address.getPhone())){
    316. // params.put("phone", address.getPhone());
    317. // }
    318. //
    319. // if(!isEmpty(address.getArea())){
    320. // params.put("area", address.getArea());
    321. // }
    322. //
    323. // if(!isEmpty(address.getBm())){
    324. // params.put("bm", address.getBm());
    325. // }
    326. //
    327. // if(!isEmpty(address.getIsUse())){
    328. // params.put("isUse", address.getIsUse());
    329. // }
    330. //
    331. // addressService.deleteByMap(params);
    332. // //4.状态删除
    333. // Address load = addressService.getById(address.getId())
    334. // load.setIsDelete(1);
    335. // addressService.update(load);
    336. //5.状态删除
    337. //Address load = addressService.load(id);
    338. //load.setIsDelete(1);
    339. //addressService.update(load);
    340. return "redirect:/address/findBySql.action";
    341. }
    342. // --------------------------------------- 华丽分割线 ------------------------------
    343. // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------
    344. /*********************************查询列表【不分页】***********************************************/
    345. /**
    346. * 【不分页 => 查询列表 => 无条件】
    347. * @Title: listAll
    348. * @Description: TODO(这里用一句话描述这个方法的作用)
    349. * @param @return 设定文件
    350. * @author
    351. * @return String 返回类型
    352. * @throws
    353. */
    354. @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    355. @ResponseBody
    356. public String listAllJson(Address address, HttpServletRequest request, HttpServletResponse response){
    357. List
      listAll = addressService.listAll();
    358. JSONObject jsonObject = new JSONObject();
    359. jsonObject.put("list", listAll);
    360. jsonObject.put("obj", address);
    361. return jsonObject.toString();
    362. }
    363. /**
    364. * 【不分页=》查询列表=>有条件】
    365. * @Title: listByEntity
    366. * @Description: TODO(这里用一句话描述这个方法的作用)
    367. * @param @return 设定文件
    368. * @author
    369. * @return String 返回类型
    370. * @throws
    371. */
    372. @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST)
    373. @ResponseBody
    374. public String listByEntityJson(Address address, HttpServletRequest request, HttpServletResponse response){
    375. List
      listAll = addressService.listAllByEntity(address);
    376. JSONObject jsonObject = new JSONObject();
    377. jsonObject.put("list", listAll);
    378. jsonObject.put("obj", address);
    379. return jsonObject.toString();
    380. }
    381. /**
    382. * 【不分页=》查询列表=>有条件】
    383. * @Title: listByMap
    384. * @Description: TODO(这里用一句话描述这个方法的作用)
    385. * @param @return 设定文件
    386. * @author
    387. * @return String 返回类型
    388. * @throws
    389. */
    390. @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    391. @ResponseBody
    392. public String listByMapJson(Address address,HttpServletRequest request, HttpServletResponse response){
    393. //通过map查询
    394. Map params = new HashMap();
    395. if(!isEmpty(address.getName())){
    396. params.put("name", address.getName());
    397. }
    398. if(!isEmpty(address.getPhone())){
    399. params.put("phone", address.getPhone());
    400. }
    401. if(!isEmpty(address.getArea())){
    402. params.put("area", address.getArea());
    403. }
    404. if(!isEmpty(address.getBm())){
    405. params.put("bm", address.getBm());
    406. }
    407. if(!isEmpty(address.getIsUse())){
    408. params.put("isUse", address.getIsUse());
    409. }
    410. List
      listAll = addressService.listByMap(params);
    411. JSONObject jsonObject = new JSONObject();
    412. jsonObject.put("list", listAll);
    413. jsonObject.put("obj", address);
    414. return jsonObject.toString();
    415. }
    416. /**
    417. * 分页查询 返回list json(通过对象)
    418. *
    419. * @param request
    420. * @param response
    421. * @return
    422. */
    423. @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    424. @ResponseBody
    425. public String findByObjByEntityJson(Address address, HttpServletRequest request, HttpServletResponse response) {
    426. //分页查询
    427. Pager
      pagers = addressService.findByEntity(address);
    428. JSONObject jsonObject = new JSONObject();
    429. jsonObject.put("pagers", pagers);
    430. jsonObject.put("obj", address);
    431. return jsonObject.toString();
    432. }
    433. /**
    434. * 分页查询 返回list json(通过Map)
    435. *
    436. * @param request
    437. * @param response
    438. * @return
    439. */
    440. @RequestMapping(value = "/findByMapJson", method = RequestMethod.POST)
    441. @ResponseBody
    442. public String findByMapJson(Address address,HttpServletRequest request, HttpServletResponse response) {
    443. //通过map查询
    444. Map params = new HashMap();
    445. if(!isEmpty(address.getName())){
    446. params.put("name", address.getName());
    447. }
    448. if(!isEmpty(address.getPhone())){
    449. params.put("phone", address.getPhone());
    450. }
    451. if(!isEmpty(address.getArea())){
    452. params.put("area", address.getArea());
    453. }
    454. if(!isEmpty(address.getBm())){
    455. params.put("bm", address.getBm());
    456. }
    457. if(!isEmpty(address.getIsUse())){
    458. params.put("isUse", address.getIsUse());
    459. }
    460. //分页查询
    461. Pager
      pagers = addressService.findByMap(params);
    462. JSONObject jsonObject = new JSONObject();
    463. jsonObject.put("pagers", pagers);
    464. jsonObject.put("obj", address);
    465. return jsonObject.toString();
    466. }
    467. /**
    468. * ajax 添加
    469. * @param
    470. * @return
    471. */
    472. @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    473. @ResponseBody
    474. public String exAddJson(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    475. addressService.insert(address);
    476. JSONObject jsonObject = new JSONObject();
    477. jsonObject.put("message", "添加成功");
    478. return jsonObject.toString();
    479. }
    480. /**
    481. * ajax 修改
    482. * @param
    483. * @return
    484. */
    485. @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    486. @ResponseBody
    487. public String exUpdateJson(Address address, Model model, HttpServletRequest request, HttpServletResponse response) {
    488. //1.通过实体类修改,可以多传修改条件
    489. addressService.updateById(address);
    490. //2.通过主键id修改
    491. //addressService.updateById(address);
    492. JSONObject jsonObject = new JSONObject();
    493. jsonObject.put("message", "修改成功");
    494. return jsonObject.toString();
    495. }
    496. /**
    497. * ajax 删除
    498. * @return
    499. */
    500. @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    501. @ResponseBody
    502. public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    503. ///1.通过主键删除
    504. addressService.deleteById(id);
    505. /*以下是多种删除方式*/
    506. // //2.通过实体条件删除
    507. // addressService.deleteByEntity(address);
    508. // //3.通过参数删除
    509. // //通过map查询
    510. // Map params = new HashMap();
    511. //
    512. // if(!isEmpty(address.getName())){
    513. // params.put("name", address.getName());
    514. // }
    515. //
    516. // if(!isEmpty(address.getPhone())){
    517. // params.put("phone", address.getPhone());
    518. // }
    519. //
    520. // if(!isEmpty(address.getArea())){
    521. // params.put("area", address.getArea());
    522. // }
    523. //
    524. // if(!isEmpty(address.getBm())){
    525. // params.put("bm", address.getBm());
    526. // }
    527. //
    528. // if(!isEmpty(address.getIsUse())){
    529. // params.put("isUse", address.getIsUse());
    530. // }
    531. //
    532. // addressService.deleteByMap(params);
    533. // //4.状态删除
    534. // Address load = addressService.getById(address.getId())
    535. // load.setIsDelete(1);
    536. // addressService.updateById(load);
    537. //5.状态删除
    538. //Address load = addressService.load(id);
    539. //load.setIsDelete(1);
    540. //addressService.updateById(load);
    541. JSONObject jsonObject = new JSONObject();
    542. jsonObject.put("message", "删除成功");
    543. return jsonObject.toString();
    544. }
    545. /**
    546. * 单文件上传
    547. * @param file
    548. * @param request
    549. * @param model
    550. * @return
    551. */
    552. @RequestMapping(value = "/saveFile")
    553. public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {
    554. System.out.println("开始");
    555. String path = request.getSession().getServletContext().getRealPath("/upload");
    556. String fileName = file.getOriginalFilename();
    557. System.out.println(path);
    558. File targetFile = new File(path, fileName);
    559. if(!targetFile.exists()){
    560. targetFile.mkdirs();
    561. }
    562. //保存
    563. try {
    564. file.transferTo(targetFile);
    565. } catch (Exception e) {
    566. e.printStackTrace();
    567. }
    568. return "";
    569. }
    570. /**
    571. * springMvc多文件上传
    572. * @param files
    573. * @param id
    574. * @return
    575. */
    576. @RequestMapping(value = "/saveFiles")
    577. public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
    578. for(int i = 0;i
    579. System.out.println("fileName---------->" + files[i].getOriginalFilename());
    580. if(!files[i].isEmpty()){
    581. int pre = (int) System.currentTimeMillis();
    582. try {
    583. //拿到输出流,同时重命名上传的文件
    584. String filePath = request.getRealPath("/upload");
    585. File f=new File(filePath);
    586. if(!f.exists()){
    587. f.mkdirs();
    588. }
    589. String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
    590. File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
    591. if(!file.exists()){
    592. file.createNewFile();
    593. }
    594. files[i].transferTo(file);
    595. } catch (Exception e) {
    596. e.printStackTrace();
    597. System.out.println("上传出错");
    598. }
    599. }
    600. }
    601. return "";
    602. }
    603. // --------------------------------------- 华丽分割线 ------------------------------
    604. }

     公告管理控制器

    1. @Controller
    2. @RequestMapping("/news")
    3. public class NewsController extends BaseController {
    4. /**
    5. * 依赖注入 start dao/service/===
    6. */
    7. @Autowired
    8. private NewsService newsService;
    9. // --------------------------------------- 华丽分割线 ------------------------------
    10. /*********************************查询列表【不分页】***********************************************/
    11. /**
    12. * 【不分页 => 查询列表 => 无条件】
    13. * @Title: listAll
    14. * @Description: TODO(这里用一句话描述这个方法的作用)
    15. * @param @return 设定文件
    16. * @author
    17. * @return String 返回类型
    18. * @throws
    19. */
    20. @RequestMapping(value = "/listAll")
    21. public String listAll(News news, Model model, HttpServletRequest request, HttpServletResponse response){
    22. List listAll = newsService.listAll();
    23. model.addAttribute("list", listAll);
    24. return "news/news";
    25. }
    26. /**
    27. * 【不分页=》查询列表=>有条件】
    28. * @Title: listByEntity
    29. * @Description: TODO(这里用一句话描述这个方法的作用)
    30. * @param @return 设定文件
    31. * @author
    32. * @return String 返回类型
    33. * @throws
    34. */
    35. @RequestMapping(value = "/listByEntity")
    36. public String listByEntity(News news, Model model, HttpServletRequest request, HttpServletResponse response){
    37. List listAll = newsService.listAllByEntity(news);
    38. model.addAttribute("list", listAll);
    39. return "news/news";
    40. }
    41. /**
    42. * 【不分页=》查询列表=>有条件】
    43. * @Title: listByMap
    44. * @Description: TODO(这里用一句话描述这个方法的作用)
    45. * @param @return 设定文件
    46. * @author
    47. * @return String 返回类型
    48. * @throws
    49. */
    50. @RequestMapping(value = "/listByMap")
    51. public String listByMap(News news, Model model, HttpServletRequest request, HttpServletResponse response){
    52. //通过map查询
    53. Map params = new HashMap();
    54. if(!isEmpty(news.getName())){
    55. params.put("name", news.getName());
    56. }
    57. if(!isEmpty(news.getContent())){
    58. params.put("content", news.getContent());
    59. }
    60. if(!isEmpty(news.getAddTime())){
    61. params.put("addTime", news.getAddTime());
    62. }
    63. List listAll = newsService.listByMap(params);
    64. model.addAttribute("list", listAll);
    65. return "news/news";
    66. }
    67. /*********************************查询列表【分页】***********************************************/
    68. /**
    69. * 分页查询 返回list对象(通过对象)
    70. *
    71. * @param request
    72. * @param response
    73. * @return
    74. */
    75. @RequestMapping(value = "/findByObj")
    76. public String findByObj(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    77. //分页查询
    78. Pager pagers = newsService.findByEntity(news);
    79. model.addAttribute("pagers", pagers);
    80. //存储查询条件
    81. model.addAttribute("obj", news);
    82. return "news/news";
    83. }
    84. @RequestMapping(value = "/list")
    85. public String list(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    86. //分页查询
    87. Pager pagers = newsService.findByEntity(news);
    88. model.addAttribute("pagers", pagers);
    89. //存储查询条件
    90. model.addAttribute("obj", news);
    91. return "news/list";
    92. }
    93. /**
    94. * 分页查询 返回list对象(通过Map)
    95. *
    96. * @param request
    97. * @param response
    98. * @return
    99. */
    100. @RequestMapping(value = "/findByMap")
    101. public String findByMap(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    102. //通过map查询
    103. Map params = new HashMap();
    104. if(!isEmpty(news.getName())){
    105. params.put("name", news.getName());
    106. }
    107. if(!isEmpty(news.getContent())){
    108. params.put("content", news.getContent());
    109. }
    110. if(!isEmpty(news.getAddTime())){
    111. params.put("addTime", news.getAddTime());
    112. }
    113. //分页查询
    114. Pager pagers = newsService.findByMap(params);
    115. model.addAttribute("pagers", pagers);
    116. //存储查询条件
    117. model.addAttribute("obj", news);
    118. return "news/news";
    119. }
    120. /**********************************【增删改】******************************************************/
    121. /**
    122. * 跳至添加页面
    123. * @return
    124. */
    125. @RequestMapping(value = "/add")
    126. public String add() {
    127. return "news/add";
    128. }
    129. /**
    130. * 添加执行
    131. * @return
    132. */
    133. @RequestMapping(value = "/exAdd")
    134. public String exAdd(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    135. news.setAddTime(new Date());
    136. newsService.insert(news);
    137. return "redirect:/news/findByObj";
    138. }
    139. /**
    140. * 跳至修改页面
    141. * @return
    142. */
    143. @RequestMapping(value = "/update")
    144. public String update(Integer id,Model model) {
    145. News obj = newsService.load(id);
    146. model.addAttribute("obj",obj);
    147. return "news/update";
    148. }
    149. /**
    150. * 跳至修改页面
    151. * @return
    152. */
    153. @RequestMapping(value = "/view")
    154. public String view(Integer id,Model model) {
    155. News obj = newsService.load(id);
    156. model.addAttribute("obj",obj);
    157. return "news/view";
    158. }
    159. /**
    160. * 添加修改
    161. * @return
    162. */
    163. @RequestMapping(value = "/exUpdate")
    164. public String exUpdate(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    165. //1.通过实体类修改,可以多传修改条件
    166. newsService.updateById(news);
    167. //2.通过主键id修改
    168. //newsService.updateById(news);
    169. return "redirect:/news/findByObj";
    170. }
    171. /**
    172. * 删除通过主键
    173. * @return
    174. */
    175. @RequestMapping(value = "/delete")
    176. public String delete(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    177. ///1.通过主键删除
    178. newsService.deleteById(id);
    179. /*以下是多种删除方式*/
    180. // //2.通过实体条件删除
    181. // newsService.deleteByEntity(news);
    182. // //3.通过参数删除
    183. // //通过map查询
    184. // Map params = new HashMap();
    185. //
    186. // if(!isEmpty(news.getName())){
    187. // params.put("name", news.getName());
    188. // }
    189. //
    190. // if(!isEmpty(news.getContent())){
    191. // params.put("content", news.getContent());
    192. // }
    193. //
    194. // if(!isEmpty(news.getAddTime())){
    195. // params.put("addTime", news.getAddTime());
    196. // }
    197. //
    198. // newsService.deleteByMap(params);
    199. // //4.状态删除
    200. // News load = newsService.getById(news.getId())
    201. // load.setIsDelete(1);
    202. // newsService.update(load);
    203. //5.状态删除
    204. //News load = newsService.load(id);
    205. //load.setIsDelete(1);
    206. //newsService.update(load);
    207. return "redirect:/news/findByObj";
    208. }
    209. // --------------------------------------- 华丽分割线 ------------------------------
    210. // --------------------------------------- 【下面是ajax操作的方法。】 ------------------------------
    211. /*********************************查询列表【不分页】***********************************************/
    212. /**
    213. * 【不分页 => 查询列表 => 无条件】
    214. * @Title: listAll
    215. * @Description: TODO(这里用一句话描述这个方法的作用)
    216. * @param @return 设定文件
    217. * @author
    218. * @return String 返回类型
    219. * @throws
    220. */
    221. @RequestMapping(value = "/listAllJson", method = RequestMethod.POST)
    222. @ResponseBody
    223. public String listAllJson(News news, HttpServletRequest request, HttpServletResponse response){
    224. List listAll = newsService.listAll();
    225. JSONObject jsonObject = new JSONObject();
    226. jsonObject.put("list", listAll);
    227. jsonObject.put("obj", news);
    228. return jsonObject.toString();
    229. }
    230. /**
    231. * 【不分页=》查询列表=>有条件】
    232. * @Title: listByEntity
    233. * @Description: TODO(这里用一句话描述这个方法的作用)
    234. * @param @return 设定文件
    235. * @author
    236. * @return String 返回类型
    237. * @throws
    238. */
    239. @RequestMapping(value = "/listByEntityJson", method = RequestMethod.POST)
    240. @ResponseBody
    241. public String listByEntityJson(News news, HttpServletRequest request, HttpServletResponse response){
    242. List listAll = newsService.listAllByEntity(news);
    243. JSONObject jsonObject = new JSONObject();
    244. jsonObject.put("list", listAll);
    245. jsonObject.put("obj", news);
    246. return jsonObject.toString();
    247. }
    248. /**
    249. * 【不分页=》查询列表=>有条件】
    250. * @Title: listByMap
    251. * @Description: TODO(这里用一句话描述这个方法的作用)
    252. * @param @return 设定文件
    253. * @author
    254. * @return String 返回类型
    255. * @throws
    256. */
    257. @RequestMapping(value = "/listByMapJson", method = RequestMethod.POST)
    258. @ResponseBody
    259. public String listByMapJson(News news,HttpServletRequest request, HttpServletResponse response){
    260. //通过map查询
    261. Map params = new HashMap();
    262. if(!isEmpty(news.getName())){
    263. params.put("name", news.getName());
    264. }
    265. if(!isEmpty(news.getContent())){
    266. params.put("content", news.getContent());
    267. }
    268. if(!isEmpty(news.getAddTime())){
    269. params.put("addTime", news.getAddTime());
    270. }
    271. List listAll = newsService.listByMap(params);
    272. JSONObject jsonObject = new JSONObject();
    273. jsonObject.put("list", listAll);
    274. jsonObject.put("obj", news);
    275. return jsonObject.toString();
    276. }
    277. /**
    278. * 分页查询 返回list json(通过对象)
    279. *
    280. * @param request
    281. * @param response
    282. * @return
    283. */
    284. @RequestMapping(value = "/findByObjJson", method = RequestMethod.POST)
    285. @ResponseBody
    286. public String findByObjByEntityJson(News news, HttpServletRequest request, HttpServletResponse response) {
    287. //分页查询
    288. Pager pagers = newsService.findByEntity(news);
    289. JSONObject jsonObject = new JSONObject();
    290. jsonObject.put("pagers", pagers);
    291. jsonObject.put("obj", news);
    292. return jsonObject.toString();
    293. }
    294. /**
    295. * 分页查询 返回list json(通过Map)
    296. *
    297. * @param request
    298. * @param response
    299. * @return
    300. */
    301. @RequestMapping(value = "/findByMapJson", method = RequestMethod.POST)
    302. @ResponseBody
    303. public String findByMapJson(News news,HttpServletRequest request, HttpServletResponse response) {
    304. //通过map查询
    305. Map params = new HashMap();
    306. if(!isEmpty(news.getName())){
    307. params.put("name", news.getName());
    308. }
    309. if(!isEmpty(news.getContent())){
    310. params.put("content", news.getContent());
    311. }
    312. if(!isEmpty(news.getAddTime())){
    313. params.put("addTime", news.getAddTime());
    314. }
    315. //分页查询
    316. Pager pagers = newsService.findByMap(params);
    317. JSONObject jsonObject = new JSONObject();
    318. jsonObject.put("pagers", pagers);
    319. jsonObject.put("obj", news);
    320. return jsonObject.toString();
    321. }
    322. /**
    323. * ajax 添加
    324. * @param
    325. * @return
    326. */
    327. @RequestMapping(value = "/exAddJson", method = RequestMethod.POST)
    328. @ResponseBody
    329. public String exAddJson(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    330. newsService.insert(news);
    331. JSONObject jsonObject = new JSONObject();
    332. jsonObject.put("message", "添加成功");
    333. return jsonObject.toString();
    334. }
    335. /**
    336. * ajax 修改
    337. * @param
    338. * @return
    339. */
    340. @RequestMapping(value = "/exUpdate.json", method = RequestMethod.POST)
    341. @ResponseBody
    342. public String exUpdateJson(News news, Model model, HttpServletRequest request, HttpServletResponse response) {
    343. //1.通过实体类修改,可以多传修改条件
    344. newsService.update(news);
    345. //2.通过主键id修改
    346. //newsService.updateById(news);
    347. JSONObject jsonObject = new JSONObject();
    348. jsonObject.put("message", "修改成功");
    349. return jsonObject.toString();
    350. }
    351. /**
    352. * ajax 删除
    353. * @return
    354. */
    355. @RequestMapping(value = "/delete.json", method = RequestMethod.POST)
    356. @ResponseBody
    357. public String exDeleteJson(Integer id, Model model, HttpServletRequest request, HttpServletResponse response) {
    358. ///1.通过主键删除
    359. newsService.deleteById(id);
    360. /*以下是多种删除方式*/
    361. // //2.通过实体条件删除
    362. // newsService.deleteByEntity(news);
    363. // //3.通过参数删除
    364. // //通过map查询
    365. // Map params = new HashMap();
    366. //
    367. // if(!isEmpty(news.getName())){
    368. // params.put("name", news.getName());
    369. // }
    370. //
    371. // if(!isEmpty(news.getContent())){
    372. // params.put("content", news.getContent());
    373. // }
    374. //
    375. // if(!isEmpty(news.getAddTime())){
    376. // params.put("addTime", news.getAddTime());
    377. // }
    378. //
    379. // newsService.deleteByMap(params);
    380. // //4.状态删除
    381. // News load = newsService.getById(news.getId())
    382. // load.setIsDelete(1);
    383. // newsService.update(load);
    384. //5.状态删除
    385. //News load = newsService.load(id);
    386. //load.setIsDelete(1);
    387. //newsService.update(load);
    388. JSONObject jsonObject = new JSONObject();
    389. jsonObject.put("message", "删除成功");
    390. return jsonObject.toString();
    391. }
    392. /**
    393. * 单文件上传
    394. * @param file
    395. * @param request
    396. * @param model
    397. * @return
    398. */
    399. @RequestMapping(value = "/saveFile")
    400. public String saveFile(@RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, Model model) {
    401. System.out.println("开始");
    402. String path = request.getSession().getServletContext().getRealPath("/upload");
    403. String fileName = file.getOriginalFilename();
    404. System.out.println(path);
    405. File targetFile = new File(path, fileName);
    406. if(!targetFile.exists()){
    407. targetFile.mkdirs();
    408. }
    409. //保存
    410. try {
    411. file.transferTo(targetFile);
    412. } catch (Exception e) {
    413. e.printStackTrace();
    414. }
    415. return "";
    416. }
    417. /**
    418. * springMvc多文件上传
    419. * @param files
    420. * @param id
    421. * @return
    422. */
    423. @RequestMapping(value = "/saveFiles")
    424. public String saveFiles(@RequestParam("file") CommonsMultipartFile[] files,Integer id,HttpServletRequest request){
    425. for(int i = 0;i
    426. System.out.println("fileName---------->" + files[i].getOriginalFilename());
    427. if(!files[i].isEmpty()){
    428. int pre = (int) System.currentTimeMillis();
    429. try {
    430. //拿到输出流,同时重命名上传的文件
    431. String filePath = request.getRealPath("/upload");
    432. File f=new File(filePath);
    433. if(!f.exists()){
    434. f.mkdirs();
    435. }
    436. String fileNmae=new Date().getTime() + files[i].getOriginalFilename();
    437. File file=new File(filePath+"/"+pre + files[i].getOriginalFilename());
    438. if(!file.exists()){
    439. file.createNewFile();
    440. }
    441. files[i].transferTo(file);
    442. } catch (Exception e) {
    443. e.printStackTrace();
    444. System.out.println("上传出错");
    445. }
    446. }
    447. }
    448. return "";
    449. }
    450. // --------------------------------------- 华丽分割线 ------------------------------
    451. }

    如果也想学习本系统,下面领取。关注并回复:076ssm 

  • 相关阅读:
    优彩云采集器下载-免费优彩云采集器下载地址
    硅谷15菜单权限
    pytorch环境搭建到pycharm项目映射配置(成功后回顾性记录/自用)
    docker基于debian11基础环境安装libreoffice
    【Maven教程】(八):使用 Nexus 创建私服 ~
    linux基础IO
    【Python零基础入门篇 · 28】:os模块的使用
    牛客网《剑指offer》专栏刷题练习|锻炼递归思想|练习栈的使用
    vscode 打开后 默认terminal power shell 报错 名为“.C”的驱动器不存在。
    hist转xlsx和txt
  • 原文地址:https://blog.csdn.net/m0_74967853/article/details/128179160