?K0*8gtf0=4ZV^?4W}W`(2>6XVXr4b2*;9gwE=*GMapCTNy(KSLb4X0Ov2
zaTnuwgJeEH1~^aPz?=T=TQmzMas*K5N7@Xb52T$6M0pqi6b=H7oeK00GCok5<`8?E
zn>m8`Dd3XgB29S~ery~!lO_UDW|14h%pW22vY4EJAZC6vX82_>IhjFBs%Xzo!I3Kz
zaVMYq0kU+M{{zx@ki&=h-yyBc=DLtwm4wJFec$sQDatBoN?9uWiFitShO-CI3Mr`z
zwPzkJ%VZKQM^ZA|M4lmWfU%UEiu8;mE~D^??0Zz-@fOUA)@S*k`QwpxoPZiH`&J&}9+(_K~
zeh#k^Z(J8LlM*cXlV#B>c`p7rx_J;%@U!7V{!Oz?kV_Nu3sNOLF~7^iKCHNmvPyia
z6Zr!ug)U<5dbBL@MoRK`RA!mB(xcfcdH6niVJxET7OG6I(>zHbB+17G@-j?;PNPDS
zw_~=~6$Ns%v(Jaxu$=p-=xXp93
z)R(!!5r!H`bsIkC*&kP7(r&!X^pW>_-aFL7TLUG;4u;XHqz4S4DRFYQrW#1>ey$~*k=!QNid0eH
z7>#X{CFI0-{wlJRobkV&SoQ5XlE|(Tg|oRcIQ_q2!S4%I)Qpho*AIWR95Pst_)mT`
zy@Ass1|RF#gy-YZ;J&scq(tTw>)D*cv!^wUtW!mGqdiSlpsmkHoz6(riJW0Ty1RP>
ziBvg}98PjZu}bt|h3l!{ckbrG=$obqIxR~P!Q`?M+}GN@`VD~m*Z
z*9O&DIYf>}BF|N^Q|&Q>t?_oI6sGO0GZ?JWt{Y(o{G@-0523|?!5qF3fM$ciGiadK
zL~jmS(8hBa@#px>{{-e>0dp4N1^Uz25@O4+G80=xYz@{QU@yl#Um^DT5%y+`y+vz-
H*lhj-CVv$D
literal 0
HcmV?d00001
diff --git "a/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/classes/com/md04/service/DeptService.class" "b/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/classes/com/md04/service/DeptService.class"
new file mode 100644
index 0000000000000000000000000000000000000000..706b3d9658de26788c74276722aab630ee7f1e98
GIT binary patch
literal 393
zcmZvY!AiqG5QhJ)ZDOO<+JhkY0F4LNLvNLWMTA12hk*ArJCrTkq@;O-yrm=)DVZuG-MQt6C4NMALb@nPG(ENOmNXn~vYB0WwEB$`cJ3toFLcvw}g
zb)uG-q#D<{>txu_QAeo
w_~K7u`L^ayMFIjHej?E83Y?(JbC0JEBA#QM0-Sv$A7EQW9+jhk7zuFByPx$>zTZl!TMi-Wk4!DrHbE{88N_)^-h
z(zug`A&{+^TmGW4wPkt&qm`;#*Xy-Yr}cWUq+e?7P74fQZ#uqJH&?BOwPu@hj^p}<
zZ@ErG;7rB!HuT1pXE__|o>4dNyWTy0%`}{bzHU@~*L$EFtpoa8(|7M%o>?R8fre?D
zRe#R5vx8q)R
z%=ri98tEyNC%StJC>9+=IpEti{pdtqo(NL44QE52cU_x=N$3^dsNQ2)qI^hNEGDJk*Km|XS+*n2P(E(Uvuy2S53$C
z2oY3m!}Qzg5I92WUZ@_Hx#PfCES3FglToG2ubYO=It~?LEG@6yrCO#ZZj(?~*1t_)
zv?Y*q{Y@$8Ua5m)l9yeH_XRt#B{mOxK_F8#oXhe)PB)FlW~evP!=fdxT`wb#_yU8w0tyNmuCkul6}RbC%`28v?4YDAroodk0S$-nY8q=AMlh=3
z7~a%SKsAk;1{3QVN|@B3%i$E>5*TlB{TyX$n8R6(&&azP&dAw376cBp$qIv;Z(4Ru
zQZ=$CszRH!Sq&T5l!HaiCp28e2LgR995&!Wc9a*z79sax0ib<-|AFuO?9RdU4Uy&uF9p-DD
zqCHHj(XxQtdo6gw$ro+5_#?zqC<2f9rQirhc>);37)N=EUKl4naFl-qZ*Yw&;3$zU
za7CfbNu-gdNGSWD4hK;A&@F=E0UXB(f(WWis}G?jenwJ;n23cq
z9>dMIaPtvvk={ut{TJmG)M#|YLOkBmQ=}C9K+iDsY!KsdCVV1>ooiv|Folx@5>oHa
z0Zi`)oFw4XO90tByj(J>2Ny8-;uB=rv4v&H1u$V*l2Kf5^N`$qhgQhG+6Tna?5%I_
zOM%|Q`w`GNT3O>%vGfx}_mIN!rdm{`A`Ny1$9|76AJZm@xlk&8kEHsj^apyrMKbZI
z^gDVMCyP7C2A`bdmL@rzQ>XqyZdm;j{STo{4XZoQ0uS{OVdA<7IXWG}w*p$gIZTtE
zAy#mPa#kqfG0bu;fg)SwJZCCrphqg5`3DEnxbQFXXdHbOke3C(o;J)aA$V3
zd*a3LXq0$@J%1@^v?Skw%bY1x;}EVyiG%&DJY%s`rYi(fg%HokN&8z7oyiON%tn!3
sp%sjD^j93b^#r{GeLLuv0q selectAllDept();
+
+ @Select("select * from where dept_id=#{id}")
+ Dept selectOneById(int id);
+
+ @Select("delete from dept where dept_id =#{id}")
+ int deleteById(int id);
+
+ @Insert("insert into dept(dept_name) values(#{deptName})")
+ void addOne(Dept dept);
+
+ @Update("update dept set dept_name=#{deptName} where dept_id =#{deptId}")
+ void updateOne(Dept dept);
+
+4、service(相当于厨师,厨师依赖于采购员)里面写一个实现类,一个接口(里面写增删改查),依赖于mapper
+5、controller(相当于服务员,服务员依赖于厨师)里面写实现类,依赖于service
+6、以上步骤完成后,要添加两个文件,一个是bean.xml文件,一个是jdbc.properties文件,然后进行bean.xml文件的填写,也就是spring整合mybatis的填写
\ No newline at end of file
diff --git "a/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/test-classes/com/md04/test/TestDept.class" "b/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/test-classes/com/md04/test/TestDept.class"
new file mode 100644
index 0000000000000000000000000000000000000000..4543ba3c232d5a14d7db1efc4547786e9bc5ccf7
GIT binary patch
literal 1958
zcmah~ZBrXn6n<_9EC~y3frdh>BE_0OVcSY=EiY}LR;dAML#efDU6Knd-Rx#|@3!Tq
z_zV23qjb<2$IpKD*Er+Lb2ni_kkQG^xqHu^^PK0N^X$!UfBp0efEjFMF@WnC^yB>=
z+`!Eqe1Ka$n8lnn^9B|&xQ#moidkfEy&H>qUDD>RHXmkj4EIoO;;8@&sVl`d@mHZS@MHz
zE35~Ox4jkEHTlvHo?DyJ_CjmRt|&j)v+N|nDn`nG=>)P$*gj2R$@f&?yRN1&-l9=S
z+%c6_6!W^~9M4e;0v-9nhCq7BuS$VaCC8JiQEgKO>o!>m^q2gK?QYnCqxVf`TJ1Qb
zeXdnX$xvDAH2TbhPgSoHRC5!^wZbG@p!Q-m4C>bJOHRm`)1_Veg>6O3aV_oP+gy9)
zz4~GG{IS@%lkpdb(OXt_?cR;pfS7a4_Zr7p_M@O8?>YM5y@#in
z*31M(jwA(<=gGk0L?1h9hv}U!Y&T+3@x(#K&C$bZj0)vT=kIc)!XC|KDbAh3FRIcr9TV&B=bX~1bBIFClWW)w`I|*2>?fqd9#uz(xxXR|oUk%x9DUF7%wx@yi+jsF?r?s&
zaPoJIw|Val@E%X`NAZH%;jWA8Q0%3wj`=#cr`BmNFv8+0xOPswhWIW{d4pC1fSP=h
z)@%geEsSy}Sn@oJ>Es{Lfi&0R#1BXvphKWEd4ROQ%H;!e3VeeCAG!p7g|YfQx_?II
z$!lc$d-h>Y?W1=eefv1|?ccxa!fEKjIdsyFBFi%47{fg69bAfujI!J~&ohRLd}7%q
zr7Zup#__xiuPHIEAU$Hs}m-uSapEf~&a3hxeXB
HgqZmUx%}u~
literal 0
HcmV?d00001
diff --git "a/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/test-classes/com/md04/test/TestKFC.class" "b/\350\213\217\351\271\212\346\235\203/20241223/spring04/target/test-classes/com/md04/test/TestKFC.class"
new file mode 100644
index 0000000000000000000000000000000000000000..cb0db2694e2f1806d201561fb919c7d3e288244f
GIT binary patch
literal 1300
zcmah}Yfscr5ItRB%dX`iPen!Kp$iBFT?Kh5tRX=+Vgxb952kc4Q0%sw_7>cqr7=sQ
zi9f&}WjwdL?(&MJ$xQFn+Y2D3UI=y<51y&y_5=X)~nT~`DeM)S5`G>e6qtZCP;&F5!OiyE%Ki9G2P
z#f}p?yRKOEJYQPU@x4&PeBKZC&9D?W-u_--6~(b1d@^^1<%Q;+WlKLOn^rx*T#clE
z>;$4f+T@bsIdVlqQ)YZeLvzkA2n`*1#}luj;;sm`EoRfumG^DS-LV2kookoP^1xyG
z{zeBy5=S-n(|xH=`W_$O27+ncEv^->B0i;;Kl7VHc=y+=28CEs));H?(Jg9Voa&z}k
z*qq969m@J@J9%#TG_-}nC3@2nYvqjscQLau-e~OHG#fd#%ApiRu9hD$Q*S>0;`ruk
zb|cx7u!&
z()HNFWfkt=4u1q~{4sFf)hOvZc}mh>rBBdv%CtQ^ne-Zc%ftz^FY)JIS_KA!`)G|S
z0R6be6V+yLA`bqDCcXh96W@?XR?w9Hism0^d4GarmtH~ZWCf`T(iL23P`5J(Bug-8YFz;8tu0
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/.idea/workspace.xml" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/.idea/workspace.xml"
new file mode 100644
index 000000000..d439bbabf
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/.idea/workspace.xml"
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/pom.xml" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/pom.xml"
new file mode 100644
index 000000000..4df948938
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/pom.xml"
@@ -0,0 +1,93 @@
+
+
+ 4.0.0
+
+ com.demo
+ spring05
+ 1.0-SNAPSHOT
+
+
+
+
+ org.projectlombok
+ lombok
+ 1.18.36
+ compile
+
+
+
+ org.mybatis
+ mybatis
+ 3.5.16
+
+
+
+
+ com.mysql
+ mysql-connector-j
+ 8.3.0
+
+
+
+ junit
+ junit
+ 4.13.2
+ test
+
+
+
+ org.springframework
+ spring-context
+ 5.3.39
+
+
+
+
+ org.springframework
+ spring-jdbc
+ 5.3.39
+
+
+
+
+
+
+ com.alibaba
+ druid
+ 1.1.21
+
+
+
+
+
+ org.mybatis
+ mybatis-spring
+ 2.0.6
+
+
+
+
+ org.springframework
+ spring-test
+ 5.3.39
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+ 6
+ 6
+
+
+
+
+
+
+
\ No newline at end of file
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/JdbcConfig.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/JdbcConfig.java"
new file mode 100644
index 000000000..ecaaca673
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/JdbcConfig.java"
@@ -0,0 +1,42 @@
+package com.demo.config;
+
+import com.alibaba.druid.pool.DruidDataSource;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.PropertySource;
+import org.springframework.stereotype.Component;
+
+import javax.sql.DataSource;
+
+@Component
+@PropertySource("classpath:jdbc.properties")
+public class JdbcConfig {
+ // 1. 表明身份 Component,才能被导入
+// 2. 导入外部属性文件 jdbc.properties (先在resources目录创建好)
+// 3. 定义四个属性,用来注入jdbc.properties的4个要素的值
+// 4. 在写个属性上方写@Value(变量名)
+// 5. 定义一个方法,用来获取DataSource 或,DruidDataSource ,在方法体里,new DruidDataSource,并设定好四个要素的值
+// 6. 在方法上方,写一个注解@Bean,才能将返回值对象交给Spring容器管理
+ @Value("${jdbc.driver}")
+ private String driver;
+
+ @Value("${jdbc.url}")
+ private String url;
+
+ @Value("${jdbc.username}")
+ private String username;
+
+ @Value("${jdbc.password}")
+ private String password;
+
+ @Bean //一定不能忘记
+ public DataSource dataSource() {
+ DruidDataSource dataSource = new DruidDataSource();
+ dataSource.setDriverClassName(driver);
+ dataSource.setUrl(url);
+ dataSource.setUsername(username);
+ dataSource.setPassword(password);
+ return dataSource;
+ }
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/MybatisConfig.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/MybatisConfig.java"
new file mode 100644
index 000000000..b88cbd0c7
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/MybatisConfig.java"
@@ -0,0 +1,25 @@
+package com.demo.config;
+
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.stereotype.Component;
+
+import javax.sql.DataSource;
+
+@Component
+@MapperScan("com.demo.mapper")
+public class MybatisConfig {
+ // 1. 表明身份 @Component
+// 2. 扫描mapper包,生成mapper实现类 @MapperScan("com.demo.mapper")
+// 3. 负责调用druid创建SqlSessionFactoryBean,创建一个方法SSFB,通过形参的方式,将druid DataSource注入到方法体中
+// 4. 千万不要忘记,写@Bean
+ @Bean
+ public SqlSessionFactoryBean sqlSessionFactoryBean(DataSource dataSource) {
+ SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean();
+ sessionFactoryBean.setDataSource(dataSource);
+ return sessionFactoryBean;
+ }
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/SpringConfig.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/SpringConfig.java"
new file mode 100644
index 000000000..48fa56427
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/config/SpringConfig.java"
@@ -0,0 +1,16 @@
+package com.demo.config;
+
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+
+@Configuration
+@ComponentScan({"com.demo.controller", "com.demo.service"})
+@Import({JdbcConfig.class, MybatisConfig.class})
+public class SpringConfig {
+// 1. 声明身份 是Spring核心配置类 @Configuration
+// 2. 负责扫描controller.和service包。接管这些类的Bean @ComponentScan({"com.demo.controller","com.demo.service"})
+// 3. 还负责整合 JdbcConfig 和MybatisConfig
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/controller/DeptController.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/controller/DeptController.java"
new file mode 100644
index 000000000..71050ac6d
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/controller/DeptController.java"
@@ -0,0 +1,52 @@
+package com.demo.controller;
+
+import com.demo.entity.Dept;
+import com.demo.mapper.DeptMapper;
+import com.demo.service.DeptService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+
+import java.util.List;
+
+@Controller //表明身份@Controller,接受Spring容器的管理
+public class DeptController {
+ // 1. 表明身份@Controller,接受Spring容器的管理
+ // 2. 直接复制serviceImpl的代码过来
+ // 3. 删除@Override
+// 4. controller是依赖servicve的,所以把mapper属性改成service属性
+// 5. 将方法体中所有的mapper都修改成service对象
+// 6. 将添加,修改,删除三个方法体中的。返回值类型改成String , true 对应成功,false 失败
+// 7. 通过三元运算符,根据布尔类型转成字符串的返回结果
+ @Autowired
+// private DeptMapper deptMapper;
+ private DeptService deptService;
+
+ public List selectAllDept() {
+ return deptService.selectAllDept();
+ }
+
+
+ public Dept selectDeptById(int id) {
+ return deptService.selectDeptById(id);
+ }
+
+
+ public String deleteDeptById(int id) {
+ //mapper的delete、update、insert返回值是int
+ //service的delete、update、insert返回值是boolean
+ // 受影响行数大于0,就是成功,返回true,否则false
+ return deptService.deleteDeptById(id) ? "删除成功" : "删除失败";
+ }
+
+
+ public String insertDept(Dept dept) {
+ return deptService.insertDept(dept) ? "添加成功" : "添加失败";
+ }
+
+
+ public String updateDept(Dept dept) {
+ return deptService.updateDept(dept) ? "修改成功" : "修改失败";
+ }
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/entity/Dept.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/entity/Dept.java"
new file mode 100644
index 000000000..f708c7cf7
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/entity/Dept.java"
@@ -0,0 +1,15 @@
+package com.demo.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class Dept {
+ private int deptId;
+ private String deptName;
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/mapper/DeptMapper.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/mapper/DeptMapper.java"
new file mode 100644
index 000000000..b4aac72cf
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/mapper/DeptMapper.java"
@@ -0,0 +1,29 @@
+package com.demo.mapper;
+
+import com.demo.entity.Dept;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+public interface DeptMapper {
+
+ @Select("select dept_id deptId,dept_name deptName from dept")
+ List selectAllDept();
+
+ @Select("select dept_id deptId,dept_name deptName from dept where dept_id=#{id}")
+ Dept selectDeptById(int id);
+
+ @Delete("delete from dept where dept_id=#{id}")
+ int deleteDeptById(int id);
+
+ @Insert("insert into dept(dept_name) values (#{deptName})")
+ int insertDept(Dept dept);
+
+ @Update("update dept set dept_name=#{deptName}")
+ int updateDept(Dept dept);
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptService.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptService.java"
new file mode 100644
index 000000000..d343c8e84
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptService.java"
@@ -0,0 +1,24 @@
+package com.demo.service;
+
+import com.demo.entity.Dept;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Insert;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+
+import java.util.List;
+
+public interface DeptService {
+
+ List selectAllDept();
+
+ Dept selectDeptById(int id);
+
+ boolean deleteDeptById(int id);
+
+ boolean insertDept(Dept dept);
+
+ boolean updateDept(Dept dept);
+
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptServiceImpl.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptServiceImpl.java"
new file mode 100644
index 000000000..e32821acc
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/java/com/demo/service/DeptServiceImpl.java"
@@ -0,0 +1,48 @@
+package com.demo.service;
+
+import com.demo.entity.Dept;
+import com.demo.mapper.DeptMapper;
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Data
+@Service //告诉扫描包的时候,我愿意被接管
+public class DeptServiceImpl implements DeptService {
+ @Autowired
+ private DeptMapper deptMapper;
+
+ @Override
+ public List selectAllDept() {
+ return deptMapper.selectAllDept();
+ }
+
+ @Override
+
+ public Dept selectDeptById(int id) {
+ return deptMapper.selectDeptById(id);
+ }
+
+ @Override
+
+ public boolean deleteDeptById(int id) {
+ //mapper的delete、update、insert返回值是int
+ //service的delete、update、insert返回值是boolean
+ // 受影响行数大于0,就是成功,返回true,否则false
+ return deptMapper.deleteDeptById(id) > 0;
+ }
+
+ @Override
+
+ public boolean insertDept(Dept dept) {
+ return deptMapper.insertDept(dept) > 0;
+ }
+
+ @Override
+
+ public boolean updateDept(Dept dept) {
+ return deptMapper.updateDept(dept) > 0;
+ }
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/resources/jdbc.properties" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/resources/jdbc.properties"
new file mode 100644
index 000000000..2fd73bf7e
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/main/resources/jdbc.properties"
@@ -0,0 +1,4 @@
+jdbc.driver=com.mysql.cj.jdbc.Driver
+jdbc.url=jdbc:mysql:///db231
+jdbc.username=root
+jdbc.password=200351
\ No newline at end of file
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/test/java/com/demo/test/TestDept.java" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/test/java/com/demo/test/TestDept.java"
new file mode 100644
index 000000000..fd523321e
--- /dev/null
+++ "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/src/test/java/com/demo/test/TestDept.java"
@@ -0,0 +1,33 @@
+package com.demo.test;
+
+import com.demo.config.SpringConfig;
+import com.demo.controller.DeptController;
+import com.demo.entity.Dept;
+import org.junit.Test;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
+
+import java.util.List;
+
+public class TestDept {
+ @Test
+ public void t1() {
+ ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
+ DeptController controller = context.getBean(DeptController.class);
+ List deptList = controller.selectAllDept();
+ for (Dept dept : deptList) {
+
+ System.out.println("dept=" + dept);
+
+
+ }
+ }
+
+ @Test
+ public void t2() {
+ ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
+ DeptController controller = context.getBean(DeptController.class);
+
+ }
+
+}
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/JdbcConfig.class" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/JdbcConfig.class"
new file mode 100644
index 0000000000000000000000000000000000000000..59056d2c378ceb80eac09f49504e7c0a9a6268be
GIT binary patch
literal 1242
zcmah|TTc@~6h2!@TiPO81-W@axs)P|B8q}BQHT$wK_c43_%z)e%HVcqot+}Y_@6W}
zCDFtm;EytXvs*yZ8XtDgcg}a_+~&;BU*CQZ(K4;)X^<*eTF6t1Dg#ucTNW)^v}6&p
z=(a_7ELyhcZkATEbkCuTr{#gr4wb6={D3o`2MxAkvS4voER1x7YSO-8crizh*#
z3^!5*kwYt0r5h{?t?RDlP4PkLcdRaW5V2kE8l{gIKRv)|+;0hl>_4!;p>xw8_r1Ei
zl;r>9P+v>?4i!3PD6r*Pk&MV!&{d_2NK7QOe`<|zZeavX;Hvd-(AdAcP%7AgfV3;%Lm>^W5=H{#IzInSpU
zv@Ib?|4iCehR&*6vbX6_rDwRv2rZO33I*Fx%}@m*Fo?C<)450PZLLC~%~6sYC&yeL
zR}pfvw-#S&m^erg6=|F%9GbOr{Qm%obdH9Kbe~p>bjhLz7L8c+(4tX`)@aqC@qb?o
zw&84*U)1-7YjDevFq`qJZ`e||;++~UcQ3u&l?d>6D0v8hpx<=QbIVkrAyzF5OnS!i*r_`Hc>Z>kPzEZkP{Z?k$l(jO~rU5JSZ7M8$
zhIf)-961P)a&!~zPNUix#Gj=y&Ba+qlE|H`Ie1RNGZ~GoZaR)M6aQ!9ft7G#4tg1E
K=`A@C&Hn}%WhfK?
literal 0
HcmV?d00001
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/MybatisConfig.class" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/MybatisConfig.class"
new file mode 100644
index 0000000000000000000000000000000000000000..058f38274bafc7f00a5bc2cfbdd664cc4a7378b3
GIT binary patch
literal 925
zcmb7CO>Yx15Pi;P329T(rVwapp_jCjSmIiQM1y+TfJ7h?;^b`H;5KWAwNsjZ1s5uT
z#1G&{A;#XSd?+B;gJ);P@6F5`fBp993xEgMuAqeVGBzs6Vcj3M%h)Vqi=p&TY2_X<
zzYC&G!InWnMa--%2*;z`EB
z?Icxt#C!8Nh`chq1Tw76C!_)Focg=}Q>XcSs+~$?Us**OJl5Jcn$l>J;C>*=8a+xy
zBHx+x#H-=tnd9Q}D))2yp0hy@RnYbqx!PV4hOD*U8LgA4G;TJLyknAy(Na62n>)u(
zRl8y`k!dduwTq`>JoQVat+oBu+DS-PQN{v8>tCg>;tuXIZ2Wck49k8VJ{GjWXMJ;6c9A@W
zCDe$-gI|)(ldXM5?$tT+-MxDsQP_J=p&UHTQb?~*wN(N)0^L>yxu7F3mT`?}7pSW`
fRtULDNZ&vs@T`UNdWhC3dxQKYWpBO)v$*vgzA5vI
literal 0
HcmV?d00001
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/SpringConfig.class" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/config/SpringConfig.class"
new file mode 100644
index 0000000000000000000000000000000000000000..c7f7b7d4b5db4f31faa2254bb565ee81f5e0d9c4
GIT binary patch
literal 641
zcmb7B%Sr<=6g}xvYkjmn3!(@v)I|d>+$e$wf>IT%bmJ18uZFWXNxAcNhxCwyPLsTiU3L
zBnp(f7C}g!ddo@?c7)R@9y$yDR>ur$Eomd(RgvY=nx5|S_Jh-=f1H7RhDzHePO1}~
zGSz+tn|ER$7#dfJ@j6l+9c!XLGRAu0wKc@P*Rrn9qK~`Of#9*Zuzc^H%_4n2DhSMhn_8+KTHK
zQ=c2^GakjwC~m3a?INLcn};*??Br_
z1H&h}JD0hAl+n%^%PdkEjeA4%Ikxh&B<@CIZ?kgpNRqXCoLQ_F*LJX=L^g^)*_Q
qM(n6Y<^+ut(nNPeBXgogtFNIejkcp2qyMj=;VPA-;aa#CBfuXcGhGt^
literal 0
HcmV?d00001
diff --git "a/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/entity/Dept.class" "b/\350\213\217\351\271\212\346\235\203/20241224java\345\256\214\346\225\264/spring05/target/classes/com/demo/entity/Dept.class"
new file mode 100644
index 0000000000000000000000000000000000000000..47e7a29da9d58c45c376c50e599c502ade1dccab
GIT binary patch
literal 1981
zcma)6U2hvz5Ixu4^{$;w;<|~OkU$d%tv_ohrL=KeXq&Vc>@-TMO7PT;y^6QBcZ0pI
z#9!$PZ}cS(AW>HWse%_O@tc5h?(P!Dj!}{AJ9qA#duHa$jQ{xi=a&F3<6az5l;yIa
zp^~7yA(v0(@>v2Y+?2~L4Yw1BV^hbLly~HESI6f%s&e~+&Zw)bsGf)amew@L4nJz{Wg|B==3%Gs~UnmbBWcqO2^Ud!qVOv{wlhP=-B=O+%P_dK)lxNaW$9I>c=
zS@eeKY)RiNO3UoE0-DvG-D-V{VRfxuzwNOgCxCR%4GP8k4coE38)Q0Dotzk}$Mh0=
zZok{G?%1+oaan{*vg!uTV$Q%k(gJgnN@d^!Tr_YF3kFuOYT$xYKg5E-x$(BS)wkPC
zt83sYt_c{@Nk-C9ZB`7_P?yU#>rq(wm!t}5%^LU^s{+X(TtF?8GY=0fhaFp-RJ2p+
zhW^EAXq_@5o#d9DL;N^~r1?ncz#Tn0#vw|u}abpb)dH*$m{8p39o_K#6CP;-Gu2x2fju&sXyMbQ
zPHB|dYn7DkIpeNwhLW#D|8&ZavX%R|A
zV5=F%UCJWXx#v{0(XA-!1<;l)3`z2j%ui6co|fu($bKt4d%E6^H6;tUb)1{aT^t71
zB2Z3~Ohw1fu7@R6-P+)S37r04!FjspaVm{99adh1_ll|>7O#0vHHWJ1?>(Q`H0*gJ
zCFpfBSf?bU;;}Y5rnA9){YBWdJSe=EGCD%)(2lU0&9~;*hfq$n@?xB3)UP!Hr6lrL
z+U)NgUfEa_+Dx;ohNHN)ms|6WIK+$|*;`=}clfFBaRnw#r)MmRc)V-2l)y^1dx3S^
z-Af|~OxaELne5Vw_5-f@2mt~^_y+*wa|DJVhgKe~AsB%Io@K;G@hjc{QBcB|F&Ibt
mCpLjt87BL%sVr|Au^E`{!{#z<9zYei5*C}x$)?c1=D{D}j}qT*
zL=W~f%<|1J`#!(kKLFff7GoOYk}z)Aa_%0ied3)X%#uaA(R;00XRJz1Ds-2Jgf@BJXtM{;{q2l#ql2;3H(YJnX=*9
zb^GSY@pu5+U7@=INo7@A=lpD}jGp>%#`WIheB-}IxcVI}<^Daa{$V5$j$n1URxfWG
oxzK<>=*jVbendDyB)%`Mhk^JQr-0}Xqo8Lv4?6ZL