基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现
🍅 作者簡介:CSDN特邀作者?、java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者💪
🍅關(guān)注公眾號【java李楊勇】? 簡歷模板、學(xué)習(xí)資料、面試題庫等都給你
🍅文末獲取源碼聯(lián)系🍅
一、前言介紹:
? ? ? ? ?隨著社會的快速發(fā)展,計(jì)算機(jī)的影響是全面且深入的。人們生活水平的不斷提高,日常生活中用戶對手辦周邊商城方面的要求也在不斷提高,而漫威系列手辦周邊商城得到廣大用戶的青睞,使得漫威系列手辦周邊商城的開發(fā)成為必需而且緊迫的事情。漫威系列手辦周邊商城主要是借助計(jì)算機(jī),通過對漫威系列手辦周邊商城所需的信息管理,增加用戶的選擇,同時也方便對廣大用戶信息的及時查詢、修改以及對用戶信息的及時了解。手辦周邊商城對用戶帶來了更多的便利,該系統(tǒng)通過和數(shù)據(jù)庫管理系統(tǒng)軟件協(xié)作來滿足用戶的需求。計(jì)算機(jī)技術(shù)在現(xiàn)代管理中的應(yīng)用,使計(jì)算機(jī)成為人們應(yīng)用現(xiàn)代技術(shù)的重要工具。能夠有效的解決獲取信息便捷化、全面化的問題,提高效率。?
二、功能設(shè)計(jì):
? ? ? ?本漫威系列手辦周邊商城系統(tǒng)主要功能設(shè)計(jì)為實(shí)現(xiàn)管理員;個人中心、系統(tǒng)公告管理、用戶管理、商品系列管理、商品信息管理、訂單評價(jià)管理、論壇管理、系統(tǒng)管理、訂單管理,用戶;個人中心、訂單評價(jià)管理、我的收藏管理、訂單管理,前臺首頁;首頁、商品信息、論壇信息、我的、跳轉(zhuǎn)到后臺、購物車客服等信息管理功能。系統(tǒng)操作流程如下:
三、功能截圖:
?普通用戶登錄注冊:
?首頁主要功能介紹:商品信息、論壇信息、我的、跳轉(zhuǎn)到后臺、購物車客服等信息管理功能
?商品詳情:可加入購物車、修改數(shù)量、立即購買和收藏商品
商品詳情可以配置圖文介紹等
?商品評論交流模塊
?添加了論壇帖子系列功能:普通用戶可以發(fā)布、可以對帖子進(jìn)行交流討論等
?帖子詳情數(shù)據(jù)查看、可以在底部評論
?在我的個人中心可以查看我的發(fā)布、我的訂單、我的地址修改以及我的收藏模塊和個人信息模塊
?購物車模塊:要選擇收貨地址信息等
?我的訂單模塊:
?我的收藏模塊:
普通用戶后臺中心:
?訂單評價(jià):
?收藏管理:
?訂單信息管理:
四、 后端主要功能:
修改密碼:
?用戶管理:
?
?商品系列管理:
?商品信息管理:
?商品詳情修改:
?商品評價(jià)管理:
?論壇管理:
客服管理:
?首頁輪播圖管理:
?訂單信息管理:
五、數(shù)據(jù)庫設(shè)計(jì):
表address (地址)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 |
| 1 | id | bigint | 20 | 0 | N | Y |
| 2 | addtime | timestamp | 19 | 0 | N | N |
| 3 | userid | bigint | 20 | 0 | N | N |
| 4 | address | varchar | 200 | 0 | N | N |
| 5 | name | varchar | 200 | 0 | N | N |
| 6 | phone | varchar | 200 | 0 | N | N |
| 7 | isdefault | varchar | 200 | 0 | N | N |
表cart (購物車表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 |
| 1 | id | bigint | 20 | 0 | N | Y |
| 2 | addtime | timestamp | 19 | 0 | N | N |
| 3 | tablename | varchar | 200 | 0 | Y | N |
| 4 | userid | bigint | 20 | 0 | N | N |
| 5 | goodid | bigint | 20 | 0 | N | N |
| 6 | goodname | varchar | 200 | 0 | Y | N |
| 7 | picture | varchar | 200 | 0 | Y | N |
| 8 | buynumber | int | 10 | 0 | N | N |
| 9 | price | float | 13 | 0 | Y | N |
| 10 | discountprice | float | 13 | 0 | Y | N |
表chat (客服聊天表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 4 | adminid | bigint | 20 | 0 | Y | N | 管理員id |
| 5 | ask | longtext | 2147483647 | 0 | Y | N | 提問 |
| 6 | reply | longtext | 2147483647 | 0 | Y | N | 回復(fù) |
| 7 | isreply | int | 10 | 0 | Y | N | 是否回復(fù) |
表config (配置文件)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | name | varchar | 100 | 0 | N | N | 配置參數(shù)名稱 |
| 3 | value | varchar | 100 | 0 | Y | N | 配置參數(shù)值 |
表dingdanpingjia (訂單評價(jià))
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | dingdanbianhao | varchar | 200 | 0 | N | N | 訂單編號 |
| 4 | shangpinbianhao | varchar | 200 | 0 | Y | N | 商品編號 |
| 5 | shangpinmingcheng | varchar | 200 | 0 | N | N | 商品名稱 |
| 6 | shangpinxilie | varchar | 200 | 0 | Y | N | 商品系列 |
| 7 | pingfen | varchar | 200 | 0 | Y | N | 評分 |
| 8 | pingjianeirong | longtext | 2147483647 | 0 | Y | N | 評價(jià)內(nèi)容 |
| 9 | tianjiatupian | varchar | 200 | 0 | Y | N | 添加圖片 |
| 10 | pingjiariqi | date | 10 | 0 | Y | N | 評價(jià)日期 |
| 11 | yonghuming | varchar | 200 | 0 | Y | N | 用戶名 |
| 12 | lianxidianhua | varchar | 200 | 0 | Y | N | 聯(lián)系電話 |
| 13 | sfsh | varchar | 200 | 0 | Y | N | 是否審核 |
| 14 | shhf | longtext | 2147483647 | 0 | Y | N | 審核回復(fù) |
表discussshangpinxinxi (商品信息評論表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | refid | bigint | 20 | 0 | N | N | 關(guān)聯(lián)表id |
| 4 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 5 | content | longtext | 2147483647 | 0 | N | N | 評論內(nèi)容 |
| 6 | reply | longtext | 2147483647 | 0 | Y | N | 回復(fù)內(nèi)容 |
表discussxitonggonggao (系統(tǒng)公告評論表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | refid | bigint | 20 | 0 | N | N | 關(guān)聯(lián)表id |
| 4 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 5 | content | longtext | 2147483647 | 0 | N | N | 評論內(nèi)容 |
| 6 | reply | longtext | 2147483647 | 0 | Y | N | 回復(fù)內(nèi)容 |
表forum (論壇表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | title | varchar | 200 | 0 | Y | N | 帖子標(biāo)題 |
| 4 | content | longtext | 2147483647 | 0 | N | N | 帖子內(nèi)容 |
| 5 | parentid | bigint | 20 | 0 | Y | N | 父節(jié)點(diǎn)id |
| 6 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 7 | username | varchar | 200 | 0 | Y | N | 用戶名 |
| 8 | isdone | varchar | 200 | 0 | Y | N | 狀態(tài) |
表orders (訂單)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | orderid | varchar | 200 | 0 | N | N | 訂單編號 |
| 4 | tablename | varchar | 200 | 0 | Y | N | 商品表名 |
| 5 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 6 | goodid | bigint | 20 | 0 | N | N | 商品id |
| 7 | goodname | varchar | 200 | 0 | Y | N | 商品名稱 |
| 8 | picture | varchar | 200 | 0 | Y | N | 商品圖片 |
| 9 | buynumber | int | 10 | 0 | N | N | 購買數(shù)量 |
| 10 | price | float | 13 | 0 | N | N | 價(jià)格/積分 |
| 11 | discountprice | float | 13 | 0 | Y | N | 折扣價(jià)格 |
| 12 | total | float | 13 | 0 | N | N | 總價(jià)格/總積分 |
| 13 | discounttotal | float | 13 | 0 | Y | N | 折扣總價(jià)格 |
| 14 | type | int | 10 | 0 | Y | N | 支付類型 |
| 15 | status | varchar | 200 | 0 | Y | N | 狀態(tài) |
| 16 | address | varchar | 200 | 0 | Y | N | 地址 |
表shangpinxilie (商品系列)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | shangpinxilie | varchar | 200 | 0 | N | N | 商品系列 |
表shangpinxinxi (商品信息)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | shangpinbianhao | varchar | 200 | 0 | Y | N | 商品編號 |
| 4 | shangpinmingcheng | varchar | 200 | 0 | N | N | 商品名稱 |
| 5 | shangpinxilie | varchar | 200 | 0 | Y | N | 商品系列 |
| 6 | tupian | varchar | 200 | 0 | Y | N | 圖片 |
| 7 | guige | varchar | 200 | 0 | Y | N | 規(guī)格 |
| 8 | shangpinxiangqing | longtext | 2147483647 | 0 | Y | N | 商品詳情 |
| 9 | clicktime | datetime | 19 | 0 | Y | N | 最近點(diǎn)擊時間 |
| 10 | clicknum | int | 10 | 0 | Y | N | 點(diǎn)擊次數(shù) |
| 11 | price | float | 13 | 0 | N | N | 價(jià)格 |
表storeup (收藏表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 4 | refid | bigint | 20 | 0 | Y | N | 收藏id |
| 5 | tablename | varchar | 200 | 0 | Y | N | 表名 |
| 6 | name | varchar | 200 | 0 | N | N | 收藏名稱 |
| 7 | picture | varchar | 200 | 0 | N | N | 收藏圖片 |
表token (token表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | userid | bigint | 20 | 0 | N | N | 用戶id |
| 3 | username | varchar | 100 | 0 | N | N | 用戶名 |
| 4 | tablename | varchar | 100 | 0 | Y | N | 表名 |
| 5 | role | varchar | 100 | 0 | Y | N | 角色 |
| 6 | token | varchar | 200 | 0 | N | N | 密碼 |
| 7 | addtime | timestamp | 19 | 0 | N | N | 新增時間 |
| 8 | expiratedtime | timestamp | 19 | 0 | N | N | 過期時間 |
表users (用戶表)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | username | varchar | 100 | 0 | N | N | 用戶名 |
| 3 | password | varchar | 100 | 0 | N | N | 密碼 |
| 4 | role | varchar | 100 | 0 | Y | N | 角色 |
| 5 | addtime | timestamp | 19 | 0 | N | N | 新增時間 |
表xitonggonggao (系統(tǒng)公告)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | gonggaobiaoti | varchar | 200 | 0 | N | N | 公告標(biāo)題 |
| 4 | gonggaoleixing | varchar | 200 | 0 | N | N | 公告類型 |
| 5 | tupian | varchar | 200 | 0 | Y | N | 圖片 |
| 6 | neirong | longtext | 2147483647 | 0 | Y | N | 內(nèi)容 |
| 7 | faburiqi | date | 10 | 0 | Y | N | 發(fā)布日期 |
表yonghu (用戶)
| 編號 | 名稱 | 數(shù)據(jù)類型 | 長度 | 小數(shù)位 | 允許空值 | 主鍵 | 說明 |
| 1 | id | bigint | 20 | 0 | N | Y | 主鍵 |
| 2 | addtime | timestamp | 19 | 0 | N | N | 創(chuàng)建時間 |
| 3 | yonghuming | varchar | 200 | 0 | N | N | 用戶名 |
| 4 | mima | varchar | 200 | 0 | N | N | 密碼 |
| 5 | xingming | varchar | 200 | 0 | N | N | 姓名 |
| 6 | xingbie | varchar | 200 | 0 | Y | N | 性別 |
| 7 | touxiang | varchar | 200 | 0 | Y | N | 頭像 |
| 8 | lianxidianhua | varchar | 200 | 0 | Y | N | 聯(lián)系電話 |
| 9 | money | float | 13 | 0 | Y | N | 余額 |
六、關(guān)鍵代碼:
/*** 登錄相關(guān)*/ @RequestMapping("users") @RestController public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth // @PostMapping(value = "/login")@RequestMapping(value = "/login", method ={RequestMethod.GET,RequestMethod.POST} )public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注冊*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("賬號不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();} } <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 配置數(shù)據(jù)源 --><bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="${jdbc_url}"/><property name="username" value="${jdbc_username}"/><property name="password" value="${jdbc_password}"/><!-- 初始化連接大小 --><property name="initialSize" value="0"/><!-- 連接池最大使用連接數(shù)量 --><property name="maxActive" value="20"/><!-- 連接池最大空閑 --><property name="maxIdle" value="20"/><!-- 連接池最小空閑 --><property name="minIdle" value="0"/><!-- 獲取連接最大等待時間 --><property name="maxWait" value="60000"/><property name="validationQuery" value="${validationQuery}"/><property name="testOnBorrow" value="false"/><property name="testOnReturn" value="false"/><property name="testWhileIdle" value="true"/><!-- 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="60000"/><!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --><property name="minEvictableIdleTimeMillis" value="25200000"/><!-- 打開removeAbandoned功能 --><property name="removeAbandoned" value="true"/><!-- 1800秒,也就是30分鐘 --><property name="removeAbandonedTimeout" value="1800"/><!-- 關(guān)閉abanded連接時輸出錯誤日志 --><property name="logAbandoned" value="true"/><!-- 監(jiān)控?cái)?shù)據(jù)庫 --><property name="filters" value="mergeStat"/></bean><!-- Spring整合Mybatis,更多查看文檔:http://mp.baomidou.com --><bean id="sqlSessionFactory" class="com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean"><property name="dataSource" ref="dataSource"/><!-- 自動掃描Mapping.xml文件 --><property name="mapperLocations" value="classpath:mapper/*.xml"/><property name="configLocation" value="classpath:mybatis/mybatis-config.xml"/><property name="typeAliasesPackage" value="com..model.*"/><property name="typeEnumsPackage" value="com.model.enums"/><property name="plugins"><array><!-- 分頁插件配置 --><bean id="paginationInterceptor" class="com.baomidou.mybatisplus.plugins.PaginationInterceptor"></bean></array></property><!-- 全局配置注入 --><property name="globalConfig" ref="globalConfig" /></bean><bean id="globalConfig" class="com.baomidou.mybatisplus.entity.GlobalConfiguration"><!--AUTO->`0`("數(shù)據(jù)庫ID自增")INPUT->`1`(用戶輸入ID")ID_WORKER->`2`("全局唯一ID")UUID->`3`("全局唯一ID")--><property name="idType" value="2" /><!--MYSQL->`mysql`ORACLE->`oracle`DB2->`db2`H2->`h2`HSQL->`hsql`SQLITE->`sqlite`POSTGRE->`postgresql`SQLSERVER2005->`sqlserver2005`SQLSERVER->`sqlserver`--><!-- Oracle需要添加該項(xiàng) --><!-- <property name="dbType" value="oracle" /> --><!-- 全局表為下劃線命名設(shè)置 true --><!-- <property name="dbColumnUnderline" value="true" /> --><property name="metaObjectHandler"><bean class="com.config.MyMetaObjectHandler" /></property></bean><!-- MyBatis 動態(tài)掃描 --><bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.dao"/></bean><!-- 配置事務(wù)管理 --><bean name="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><!-- 事務(wù)管理 屬性 --><tx:advice id="transactionAdvice" transaction-manager="transactionManager"><tx:attributes><tx:method name="add*" propagation="REQUIRED"/><tx:method name="append*" propagation="REQUIRED"/><tx:method name="save*" propagation="REQUIRED"/><tx:method name="update*" propagation="REQUIRED"/><tx:method name="modify*" propagation="REQUIRED"/><tx:method name="edit*" propagation="REQUIRED"/><tx:method name="insert*" propagation="REQUIRED"/><tx:method name="delete*" propagation="REQUIRED"/><tx:method name="remove*" propagation="REQUIRED"/><tx:method name="repair" propagation="REQUIRED"/><tx:method name="get*" propagation="REQUIRED" read-only="true"/><tx:method name="find*" propagation="REQUIRED" read-only="true"/><tx:method name="load*" propagation="REQUIRED" read-only="true"/><tx:method name="search*" propagation="REQUIRED" read-only="true"/><tx:method name="datagrid*" propagation="REQUIRED" read-only="true"/><tx:method name="*" propagation="REQUIRED"/></tx:attributes></tx:advice><!-- 配置切面 --><aop:config><aop:pointcut id="transactionPointcut" expression="execution(* com.service..*.*(..))"/><aop:advisor pointcut-ref="transactionPointcut" advice-ref="transactionAdvice"/></aop:config></beans>七、論文報(bào)告:?
八、源碼獲取:
大家點(diǎn)贊、收藏、關(guān)注、評論啦 、查看👇🏻👇🏻👇🏻微信公眾號獲取聯(lián)系方式👇🏻👇🏻👇🏻
打卡 文章 更新?200/? 365天
?精彩專欄推薦訂閱:在下方專欄👇🏻👇🏻👇🏻👇🏻
Java項(xiàng)目精品實(shí)戰(zhàn)案例《100套》
web前端期末大作業(yè)網(wǎng)頁實(shí)戰(zhàn)《100套》
總結(jié)
以上是生活随笔為你收集整理的基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于java springboot博客交
- 下一篇: Web前端期末大作业--响应式健身会所网