From e5482278e2e55658006a6b0addb8e4dee7cc7362 Mon Sep 17 00:00:00 2001
From: clay <20932067@zju.edu.cn>
Date: Tue, 25 Jan 2022 17:29:47 +0800
Subject: [PATCH] 111
---
.gitignore | 33 +++++
.idea/inspectionProfiles/Project_Default.xml | 6 +
.idea/uiDesigner.xml | 124 ++++++++++++++++++
.idea/vcs.xml | 6 +
foodie-api/pom.xml | 5 +
.../src/main/java/cn/odliken/Application.java | 6 +
.../controller/PassportController.java | 53 ++++++++
.../odliken/controller/StuFooController.java | 46 +++++++
foodie-api/src/test/java/TransTest.java | 19 +++
.../classes/cn/odliken/Application.class | Bin 709 -> 800 bytes
foodie-api/target/foodie-api-1.0-SNAPSHOT.jar | Bin 3975 -> 5855 bytes
.../compile/default-compile/createdFiles.lst | 1 +
.../compile/default-compile/inputFiles.lst | 2 +
.../default-testCompile/createdFiles.lst | 1 +
.../target/foodie-mapper-1.0-SNAPSHOT.jar | Bin 13321 -> 13321 bytes
.../compile/default-compile/inputFiles.lst | 14 ++
.../target/foodie-pojo-1.0-SNAPSHOT.jar | Bin 15964 -> 15964 bytes
.../compile/default-compile/inputFiles.lst | 13 ++
.../java/cn/odliken/service/StuService.java | 25 ++++
.../java/cn/odliken/service/UserService.java | 20 +++
.../odliken/service/impl/StuServiceImpl.java | 68 ++++++++++
.../odliken/service/impl/UserServiceImpl.java | 36 +++++
.../target/foodie-service-1.0-SNAPSHOT.jar | Bin 1571 -> 4752 bytes
.../compile/default-compile/inputFiles.lst | 4 +
pom.xml | 17 +++
25 files changed, 499 insertions(+)
create mode 100644 .gitignore
create mode 100644 .idea/inspectionProfiles/Project_Default.xml
create mode 100644 .idea/uiDesigner.xml
create mode 100644 .idea/vcs.xml
create mode 100644 foodie-api/src/main/java/cn/odliken/controller/PassportController.java
create mode 100644 foodie-api/src/main/java/cn/odliken/controller/StuFooController.java
create mode 100644 foodie-api/src/test/java/TransTest.java
create mode 100644 foodie-service/src/main/java/cn/odliken/service/StuService.java
create mode 100644 foodie-service/src/main/java/cn/odliken/service/UserService.java
create mode 100644 foodie-service/src/main/java/cn/odliken/service/impl/StuServiceImpl.java
create mode 100644 foodie-service/src/main/java/cn/odliken/service/impl/UserServiceImpl.java
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4cdf36b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,33 @@
+HELP.md
+target/
+catalina.base_IS_UNDEFINED/
+!.mvn/wrapper/maven-wrapper.jar
+!**/src/main/**
+!**/src/test/**
+
+### STS ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+.mvn
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+build/
+
+### VS Code ###
+.vscode/
diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..3b1c5e8
--- /dev/null
+++ b/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..e96534f
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+ -
+
+
+
+
+ -
+
+
+ -
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/foodie-api/pom.xml b/foodie-api/pom.xml
index 11faf2f..acaacc4 100644
--- a/foodie-api/pom.xml
+++ b/foodie-api/pom.xml
@@ -21,6 +21,11 @@
foodie-service
1.0-SNAPSHOT
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
diff --git a/foodie-api/src/main/java/cn/odliken/Application.java b/foodie-api/src/main/java/cn/odliken/Application.java
index e178851..e2cef2a 100644
--- a/foodie-api/src/main/java/cn/odliken/Application.java
+++ b/foodie-api/src/main/java/cn/odliken/Application.java
@@ -2,6 +2,8 @@ package cn.odliken;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import tk.mybatis.spring.annotation.MapperScan;
/**
* @author: Clay
@@ -12,6 +14,10 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* 启动类
*/
@SpringBootApplication
+// 扫描mybatis 通用mapper 所在的包
+@MapperScan(basePackages = "cn.odliken.mapper")
+//开启事务管理 可加可不加
+//@EnableTransactionManagement
public class Application {
public static void main(String[] args) {
diff --git a/foodie-api/src/main/java/cn/odliken/controller/PassportController.java b/foodie-api/src/main/java/cn/odliken/controller/PassportController.java
new file mode 100644
index 0000000..968d064
--- /dev/null
+++ b/foodie-api/src/main/java/cn/odliken/controller/PassportController.java
@@ -0,0 +1,53 @@
+package cn.odliken.controller;
+
+import cn.odliken.service.UserService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 17:05
+ * @description:PassprotController
+ * @email: clay@hchyun.com
+ */
+@RestController
+@RequestMapping("/passport")
+public class PassportController {
+ @Autowired
+ private UserService userService;
+
+
+ // RequestParam 请求类型参数
+ @GetMapping("/usernameIsExist")
+ public HttpStatus usernameIsExist(@RequestParam String username){
+ // 1. 判断入参是否为空
+ if (StringUtils.isBlank(username)){
+ return HttpStatus.INTERNAL_SERVER_ERROR;
+ }
+ //2. 查找注册的用户名是否存在
+ boolean isExist = userService.queryUSerNameIsExist(username);
+
+ if (isExist){
+ return HttpStatus.INTERNAL_SERVER_ERROR;
+ }
+ // 3. 请求成功,用户名可用
+ return HttpStatus.OK;
+
+ }
+
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/foodie-api/src/main/java/cn/odliken/controller/StuFooController.java b/foodie-api/src/main/java/cn/odliken/controller/StuFooController.java
new file mode 100644
index 0000000..e7c36e8
--- /dev/null
+++ b/foodie-api/src/main/java/cn/odliken/controller/StuFooController.java
@@ -0,0 +1,46 @@
+package cn.odliken.controller;
+
+import cn.odliken.service.StuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.security.sasl.SaslServer;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:09
+ * @description:SruFooController
+ * @email: clay@hchyun.com
+ */
+@RestController
+public class StuFooController {
+
+ @Autowired
+ private StuService stuService;
+
+ @GetMapping("/getStu")
+ public Object getStu(int id) {
+ return stuService.getStuInfo(id);
+ }
+ //无幂等性 再同一时间高并发下可能会新增多条数据
+ @PostMapping("/saveStu")
+ public Object saveStu() {
+ stuService.saveStu();
+ return 200;
+ }
+ // 通过id更新和删除是有幂等性的
+ @PostMapping("/updateStu")
+ public Object updateStu(int id) {
+ stuService.updateStu(id);
+ return 200;
+ }
+ @PostMapping("/deleteStu")
+ public Object deleteStu(int id) {
+ stuService.deleteStu(id);
+ return 200;
+ }
+
+
+}
diff --git a/foodie-api/src/test/java/TransTest.java b/foodie-api/src/test/java/TransTest.java
new file mode 100644
index 0000000..aa14868
--- /dev/null
+++ b/foodie-api/src/test/java/TransTest.java
@@ -0,0 +1,19 @@
+import cn.odliken.Application;
+import org.junit.runner.RunWith;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:59
+ * @description:TransTest
+ * @email: clay@hchyun.com
+ */
+//@RunWith(SpringRunner.class)
+//@SpringBootTest(classes = Application.class)
+public class TransTest {
+
+
+
+
+}
diff --git a/foodie-api/target/classes/cn/odliken/Application.class b/foodie-api/target/classes/cn/odliken/Application.class
index d8405af4aa0925fcc7a8b657f9bf16c6ba18d212..8261c39bdf29faa4d791d9cb634f49c4601777ac 100644
GIT binary patch
delta 166
zcmX@gx`0jU)W2Q(7#J8#7!$Fq!^^x8Dus}=`i{;GHCjgWb5ZvCMA|+
z7V8%m6lLb6>nG;r<(B{j^7Hh46AKDbi-MCA^Q;*ec#;x}Qv(u{vlG)(iy0XNlk@cQ
zQ*tu1Q}gt4!RjWvF)Fah@-WCT$WP8;e8?y|*^kMdRe}L%?c_;JI>JH>ObjAG=ZG>e
NGKfVpFcve20|3|wDcAr2
delta 74
zcmV-Q0JZ<12E_#$%Ko~(0000q038Yd1OOEW02T@W7XTOs02#3wECG|10U!n%3;-Jd
g9Fw~N;QN_{{R30
diff --git a/foodie-api/target/foodie-api-1.0-SNAPSHOT.jar b/foodie-api/target/foodie-api-1.0-SNAPSHOT.jar
index 687064ec993a2e19155ea7208f24cf75700e7624..cec24457d9194fb0985debf9b6a805caac7de232 100644
GIT binary patch
delta 3953
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
delta 2140
zcmZXVc{~&TAIG;jM`LV`nJ{KD#}c`|?jm1uWoi{ND>>)LcPPyDONS#?NsNRpE#En+
z`6gH92pKt2NFn!#kbTV$kKg0*{r32M{&{|m_v`)7`~7*pMs-q^A+C-Bf^YypR1^^Y
z+&Bxu5ZFO28jY+p#smJf1h)4iGHxeaYqP*bblx0WktQ)CKD8=xDw`>@G8b2Y1;5
zw4!d`;{&=dgW1~|hJ*nC$?ZhMu(03&5-~C$l&l*Q5_}6E5(+y48G*RDu!A-Es-
zavcjp!ZtR|!y-Hir64zEGIyGbq(Ze<{`Ak0%liwt83!I45RKyTpw|#`x(c0X8BcH*
zoRCm#SYTEw$s+yP%c;ik0LM{qIHz4)>U2y}Tq7f;OZq=yt7rwQ>6v`bOGOBHvjYfhMAb{8}^tBz3$x_q4H^*6r357WEd>aNyQs}+8tWG%6xM^t$Epq$%spV3TJ
zMM`5z>3E=z3oplc1U6R^66;TulQqTVV;UYSh}!cxAai9T@lhbT4(HN>kcU03}A
zj;n@207tuoIr(hY_CMHhauZX*t34l>ZHgJSvrS6~l2Q7Uy+o0O_PH!|e|rM(eQsxc
zW!>Opo)GHHY*!of#3=6_-?T_snL$zWU^Xi-4DpfWGXcE=33z_uk(%XZcp$Oo|W)todh&LO21$
zXxD<;p7IKer4nXM%br?>n`N6MjAv9zh>ru$r!I+USe>5b4$QYRB4fDwG?F5|C?gH3
zSk86_r}(|(FfXQ*_#S1wrt`u<+I-WOfr~x&W0x28C!Z!bOWmrwp3iBj;I1DEEh_vz
zvXGdYET*!|Chx^Bc48}dPu4x3qNV!#Kx681PUBq@R5m7y)UT9AA=IP^%`d1e-|}xO
zt35lG@FfL(JgpWHYug!nR^RfTKDvTr*m)64xFb+)qca12p4IcSG2hcGC#s#X6&MjZ
zGWX5+@?PovgX1?&g2DpnZwTXFB;-be?&ZYG1|rk#`Ye+|{>gy3V98aonp|lV7TfB;
zkh=@RR~EoL?krI(ZJl1XnrnZU98|)k&sx%LhAw0#29n&nq+qgO67ZALm^tt
z-tpt}vQv?xLm#jgvru9TPm)jg9Z!6W0t&
z_D{N@BHhL(Dnet=1^OoHP<5zXHc=ga%6syw{g9Sa>HC0GjO?^4VPZDZ
zuWy+8B#o$_cF?F8KkV4)qCvwqH)fuQsK>?j_76X=v7?UTZ`!CCYnF;XTd=>cJp8J(>RPnbK$Y3g
z&G4mTopap^xE4v9I5y;3^?g>7(6vrY08myF=URJsUtKKz1~8pc%1dEc7V?1S?qQrB
z^+_KQc>4xiWu{!**iTd*y!|dgOdWP@2(G>gyo!Bx2zeEH!?*
z`rHUA^1!$;%Au({!6Hof$LkV@#Ai_s3ukK&oV?15kDfPh7MXSsq~`3)bx
zvU==;$j0lZNg?+)XUkL9?S@d@J+?l$(?Jhf&lN=jO${T;5hbLgRNON$oj#L6An_6h
zV*T#W=gc4FIegGR)uBbo!fEfNn7dYaMcQ(g?a~GyWMwuCw`;5iV1~O4f?4mrmcvYU
zIR~@dr2*Vk;#Y&EWy5hQzy4MLK=EHjUXu7qh&Bet?&g({L4qM>08Wbu*^Owbf;Nt%~3exIir6nK$2;lB^YYm9+i2e&&&AinB
diff --git a/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
index 4a57eb7..c976400 100644
--- a/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
+++ b/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
@@ -1,2 +1,3 @@
+cn\odliken\controller\PassportController.class
cn\odliken\Application.class
cn\odliken\controller\HelloController.class
diff --git a/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index f4f203a..1ae9584 100644
--- a/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/foodie-api/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -1,2 +1,4 @@
F:\架构师之路\project\foodie-dev\foodie-api\src\main\java\cn\odliken\controller\HelloController.java
+F:\架构师之路\project\foodie-dev\foodie-api\src\main\java\cn\odliken\controller\StuFooController.java
F:\架构师之路\project\foodie-dev\foodie-api\src\main\java\cn\odliken\Application.java
+F:\架构师之路\project\foodie-dev\foodie-api\src\main\java\cn\odliken\controller\PassportController.java
diff --git a/foodie-api/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst b/foodie-api/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
index e69de29..2ec7c2c 100644
--- a/foodie-api/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
+++ b/foodie-api/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
@@ -0,0 +1 @@
+TransTest.class
diff --git a/foodie-mapper/target/foodie-mapper-1.0-SNAPSHOT.jar b/foodie-mapper/target/foodie-mapper-1.0-SNAPSHOT.jar
index 6953946cafe3d2998921fbed26d2424b3defc4ee..cbc82659620906c1f241c0e0347b4e9e07ecfbec 100644
GIT binary patch
delta 588
zcmXBQT_}T59LMpUXJgOIFnNvUt=3+iZO>L@Ua~ANp_xszyp|g`#Env})lzC57a}ga
zhLUY5lp)tjxe-ayVidR56g$6Nefs{Nb57?x{&D}f%H1iI*92E}>##vTi+h~t9WbG{
zVJ;f#;Dn(C9vi%PK>Yq$N7X_B)f#KCVZ_*j1z}?!I#WpXsNljpD0nfKn>^@2lNW|e
z-3spX_?uMF9YT-xNq)-#NxsU9*ZmaM7m*VVZ>61Vh5`^5yNY-nU&ny
d#&BC(8Oy19u{v34ZS9OHn}ZQTg@0`-@(-;j*1G@z
delta 588
zcmXBQTPTBJ9LMoJ@5WwcY%+(KL$cnT4@y%+R9ZNA(E(X&+)@e$W0{;G9+`7t&?*F+TLC#{^#}=*>7GOs#eiZe$+A@hl2|bf@qr
z=MApq9m3)K6&Nod0z3a#xP{&>?u5T3cks4!UV;A&NHuiEsG*xu0Jaz>;gzu*il#DH
zZL-2ylN(-`8gYTx{j)^1mTYP;^A{U6cVTeQ+y~PvyvHmZ=zU8!R9d}o$jbY`+L^*$
z$f*0U06Tv&A0EFf%Yr;g~GQB(d3y&4?MSAe-|xgyG3+22p9J)1t2nR9OpBDK@#m
zigmKQHRtAyg60r~uSHI=fVJ+BWQ8ye$R319wJ2J%f^Dnkx~EzXG(&)E@_HSy$^JI1
zljqs+Z2qFw2~pUfrN{&}V~I{B#0&+)Icy-2$@|Ui!8D`AJTSe;!Wv9Ju&@HtvX-u3
zI@K}|Oz*Vx1k9WY<$4IYEiUi1>087bx*Y(XodjSm@cw(0ju9>=?SJ;tsr!ul^d8p%gPT-zlMsNTYH1~t=3*(`Vy3{VB-$vXW96G
S>76!Ub0^t?xtslMc^LsN?}57j
diff --git a/foodie-pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/foodie-pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
index e69de29..3d2ea01 100644
--- a/foodie-pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
+++ b/foodie-pojo/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
@@ -0,0 +1,13 @@
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\OrderItems.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Carousel.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Category.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Users.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\ItemsComments.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\ItemsSpec.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\UserAddress.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Orders.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Stu.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\ItemsImg.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\ItemsParam.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\OrderStatus.java
+F:\架构师之路\project\foodie-dev\foodie-pojo\src\main\java\cn\odliken\pojo\Items.java
diff --git a/foodie-service/src/main/java/cn/odliken/service/StuService.java b/foodie-service/src/main/java/cn/odliken/service/StuService.java
new file mode 100644
index 0000000..f2590b0
--- /dev/null
+++ b/foodie-service/src/main/java/cn/odliken/service/StuService.java
@@ -0,0 +1,25 @@
+package cn.odliken.service;
+
+import cn.odliken.pojo.Stu;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:05
+ * @description:StuService
+ * @email: clay@hchyun.com
+ */
+public interface StuService {
+
+ public Stu getStuInfo(int id);
+
+
+
+ public void saveStu();
+
+ public void updateStu(int id);
+
+ public void deleteStu(int id);
+
+
+
+}
diff --git a/foodie-service/src/main/java/cn/odliken/service/UserService.java b/foodie-service/src/main/java/cn/odliken/service/UserService.java
new file mode 100644
index 0000000..5fbfe1b
--- /dev/null
+++ b/foodie-service/src/main/java/cn/odliken/service/UserService.java
@@ -0,0 +1,20 @@
+package cn.odliken.service;
+
+import cn.odliken.pojo.Stu;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:05
+ * @description:StuService
+ * @email: clay@hchyun.com
+ */
+public interface UserService {
+
+ /**
+ * 判断用户名是否存在
+ * @param username
+ * @return
+ */
+ public boolean queryUSerNameIsExist(String username);
+
+}
diff --git a/foodie-service/src/main/java/cn/odliken/service/impl/StuServiceImpl.java b/foodie-service/src/main/java/cn/odliken/service/impl/StuServiceImpl.java
new file mode 100644
index 0000000..8c60fc9
--- /dev/null
+++ b/foodie-service/src/main/java/cn/odliken/service/impl/StuServiceImpl.java
@@ -0,0 +1,68 @@
+package cn.odliken.service.impl;
+
+import cn.odliken.mapper.StuMapper;
+import cn.odliken.pojo.Stu;
+import cn.odliken.service.StuService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:07
+ * @description:StuServiceImpl
+ * @email: clay@hchyun.com
+ */
+@Service
+public class StuServiceImpl implements StuService {
+
+
+ @Autowired
+ private StuMapper stuMapper;
+
+ /**
+ * 查询stu
+ *
+ * 只需要事务支持即可
+ * @param id
+ * @return
+ */
+ @Transactional(propagation = Propagation.SUPPORTS)
+ @Override
+ public Stu getStuInfo(int id) {
+ return stuMapper.selectByPrimaryKey(id);
+ }
+
+ @Transactional(propagation = Propagation.REQUIRED)
+ @Override
+ public void saveStu() {
+ Stu stu = new Stu();
+ stu.setName("cao");
+ stu.setAge(2000);
+ stuMapper.insert(stu);
+
+ }
+
+ @Transactional(propagation = Propagation.REQUIRED)
+ @Override
+ public void updateStu(int id) {
+ Stu stu = new Stu();
+ stu.setName("cao");
+ stu.setAge(2000);
+ stu.setId(id);
+ stuMapper.selectByPrimaryKey(stu);
+ }
+
+ @Transactional(propagation = Propagation.REQUIRED)
+ @Override
+ public void deleteStu(int id) {
+ Stu stu = new Stu();
+ stu.setName("cao");
+ stu.setAge(2000);
+ stu.setId(id);
+ stuMapper.deleteByPrimaryKey(stu);
+
+ }
+
+}
diff --git a/foodie-service/src/main/java/cn/odliken/service/impl/UserServiceImpl.java b/foodie-service/src/main/java/cn/odliken/service/impl/UserServiceImpl.java
new file mode 100644
index 0000000..836ac00
--- /dev/null
+++ b/foodie-service/src/main/java/cn/odliken/service/impl/UserServiceImpl.java
@@ -0,0 +1,36 @@
+package cn.odliken.service.impl;
+
+import cn.odliken.mapper.StuMapper;
+import cn.odliken.mapper.UsersMapper;
+import cn.odliken.pojo.Stu;
+import cn.odliken.pojo.Users;
+import cn.odliken.service.StuService;
+import cn.odliken.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import tk.mybatis.mapper.entity.Example;
+
+/**
+ * @author: Clay
+ * @date: 2022/1/25 14:07
+ * @description:StuServiceImpl
+ * @email: clay@hchyun.com
+ */
+@Service
+public class UserServiceImpl implements UserService {
+
+ @Autowired
+ private UsersMapper usersMapper;
+
+ @Transactional(propagation = Propagation.SUPPORTS)
+ @Override
+ public boolean queryUSerNameIsExist(String username) {
+ Example userExample = new Example(Users.class);
+ Example.Criteria userCriteria = userExample.createCriteria();
+ userCriteria.andEqualTo("username",username);
+ Users result = usersMapper.selectOneByExample(userExample);
+ return result==null ? false : true;
+ }
+}
diff --git a/foodie-service/target/foodie-service-1.0-SNAPSHOT.jar b/foodie-service/target/foodie-service-1.0-SNAPSHOT.jar
index 308c28262ce7222c7d12b6ca340f177ee1fe072e..063b91fec6640d7ed9bfd5d87d8ec9fd888dcfeb 100644
GIT binary patch
literal 4752
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
tIkfFZw(Gwg006Z35BvlGz(TYC?LWw2GbaE5
delta 480
zcmbQBx|oMIz?+$civa{|7FbL?pjgkq!C<|>BIItP?yel5XfqIt0I{!Yh@-BjpPRm~
zqo1dnYjB93uiIzeGpBvLb@eXtdh2SPJ9B<>kiiw>2TzN1yw07_@z!Jrn
z0hNlKbG(d;y-Mb4HCpNP@aR>U(*z^RY5^Q7cTu6>=UD=WEr
zypY)B9Nx{GaDPtD;*+)jYDf4gz?+dtgc+m&yZ1qgL10Ov`eYYA1!W);7+xV@F(|2.1.5
+
+
+ commons-codec
+ commons-codec
+ 1.11
+
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
+
+ org.apache.commons
+ commons-io
+ 1.3.2
+
+